猿问

js问题求助

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该怎么写


GCT1015
浏览 441回答 1
1回答

ibeautiful

其实原理很简单,咱就比比谁代码量少吧。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);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答