js根据条件将一个一维对象数组转为二维数组

请问下,如何把下面的数组arrayFirst,根据相同的index转成arrayTwo

var arrayFirst = [{    index: 1,    datas: han
},
{    index: 1,    datas: hu
}, {    index: 2,    datas: zhang
},
{    index: 2,    datas: wang
}

]

var arrayTwo = [[{    index: 1,    datas: han
},
{    index: 1,    datas: hu
}], [{    index: 2,    datas: zhang
},
{    index: 2,    datas: wang
}]]

看着很简单,但是确不知道怎么做才好

阿波罗的战车
浏览 1879回答 1
1回答

holdtom

// 创建映射var map = arrayFirst.reduce((p, c) => [p[c.index] = p[c.index] || [],                                        p[c.index].push(c), p][2], {})                                        // 获取映射分类下的数组                                                      var result = Object.keys(map).map(i => map[i])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript