javascript - 如何按索引将数组拆分为三个数组?
问题描述
我有一个包含 9 个元素的数组(也许更多)。我需要按索引分成三个数组。
const array = [{id: 0}, {id: 1}, ..., {id: 8}];
我想收到 3 个这样的数组:
const array0 = [{id: 0}, {id: 3}, {id: 6}];
const array1 = [{id: 1}, {id: 4}, {id: 7}];
const array2 = [{id: 2}, {id: 5}, {id: 8}];
解决方案
您可以将索引的剩余部分设为三个,并为每三个元素处理一次贵妇人组。
如有必要,进行解构赋值,例如
[array0, array1, array2] = result;
const
array = [{ id: 0 }, { id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }, { id: 5 }, { id: 6 }, { id: 7 }, { id: 8 }],
result = array.reduce((r, o, i) => ((r[i % 3] = r[i % 3] || []).push(o), r), []);
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
推荐阅读
- excel - 在 Application.OnTime 中运行命名宏会生成“此工作簿中的宏可能不可用”
- java - What is the internal process behind that error "variable Y not initialized in the default constructor" in java?
- ios - 无法使用 CocoaPods 安装领域
- mysql - TypeORM - MYSQL - @OneToOne 注解
- c++ - 我正在玩 CoinToss 游戏,但我不知道我的错误在哪里
- reactjs - SCSS/SASS 中的 FontAwesome 显示正方形
- qt - 如何将 QChart 保存为图像?
- python - 从 csv 读取 dd/mm/yyy 格式的日期
- tensorflow - Keras 中的自定义层将 NaN 作为渐变返回。造成这种情况的潜在问题是什么?
- r - 在小数据集上绘制线图