以下是我需要拆分的数组,即拆分为 2 的部分,如下所示 -
要迭代的数组 -
[
{elem: 1},
{elem: 2},
{elem: 3},
{elem: 4},
{elem: 5},
{elem: 6},
{elem: 7},
{elem: 8},
{elem: 9}
]
期望的输出 -
[
{week1: [{elem: 1},{elem: 2}]},
{week2: [{elem: 3},{elem: 4}]},
{week3: [{elem: 5},{elem: 6}]},
{week4: [{elem: 7},{elem: 8}]},
{week5: [{elem: 9}]},
]
以下是我正在尝试但不知何故破坏的代码,让我知道我在这里做错了什么 -
我的代码 -
var myArr = [
{elem: 1},
{elem: 2},
{elem: 3},
{elem: 4},
{elem: 5},
{elem: 6},
{elem: 7},
{elem: 8},
{elem: 9}
];
var arrayBreakNum = 2;
var newArr = [];
var weekNum = 1;
for(var i=1; i<= myArr.length; i++) {
newArr.['week'+weekNum].push(myArr[i]);
if(i%2 == 0)
weekNum = weekNum + 1;
}
console.log(newArr);
最佳答案
您需要更改一些内容:
这里有一个语法错误:
newArr.['week'+weekNum].push(myArr[i]);
更改为:
newArr['week'+weekNum].push(myArr[i]);
您正在尝试推送到您尚未在此处初始化的数组:
newArr.['week'+weekNum].push(myArr[i]);
更改为:
newArr['week'+weekNum] = [];
for(var i=1; i<= myArr.length; i++) {
newArr['week'+weekNum].push(myArr[i]);
if(i%2 == 0){
weekNum = weekNum + 1;
newArr['week'+weekNum] = [];
}
}
关于javascript - 如何在 Javascript 中的某个限制后打破数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33941330/