var arr = [
{ num : 33,
str: "one"
},
{ num : 34,
str: "two"
},
{ num : 36,
str: "three"
},
{ num : 37,
str: "一"
},
{ num : 42,
str: "二"
}
]想得到var newarr = [
["one","two"],
["three","一"],
["二"]
]相邻的放在一个数组里面 33,34 36,37 42 求助js该怎么写
1 回答

ibeautiful
TA贡献1993条经验 获得超5个赞
其实原理很简单,咱就比比谁代码量少吧。
var arr = [
{
num : 33,
str: "one"
},
{
num : 34,
str: "two"
},
{
num : 36,
str: "three"
},
{
num : 37,
str: "一"
},
{
num : 42,
str: "二"
}
];
var nowNum = -1;
var newArr = [];
arr.forEach(function (x) {
if (x.num === nowNum + 1) {
newArr[newArr.length - 1].push(x.str);
} else {
newArr.push([x.str]);
nowNum = x.num;
}
});
console.log(newArr);
添加回答
举报
0/150
提交
取消