将数组取消拼合为四个一组

2022-03-23 00:00:00 arrays javascript underscore.js

我有一个数组,如下所示:

var someArray = ['val1','val2','val3','val4','val5','val6','val7','val8','val9','val10','val11','val12'];

我正在尝试使用underscore找出一些很好的方法,简单地将它转换成一个数组数组,就像这样.

[['val1','val2','val3','val4'], ['val5','val6','val7','val8'], ['val9','val10','val11','val12']]
其中新数组的每个索引是来自第一个数组的四个元素的组。是否有使用underscore.js执行此操作的简单而优雅的方法。


解决方案

下划线,因为您要求:(Example)

var i = 4, list = _.groupBy(someArray, function(a, b){
    return Math.floor(b/i);
});
newArray = _.toArray(list);

香草JS:(Example)

var newArray = [], size = 4;
while (someArray.length > 0) newArray.push(someArray.splice(0, size));

相关文章