从列表创建组

时间:2018-10-04 00:48:16

标签: javascript node.js

我有这个例程,它将一个数组,一组x / chunkSize项目分组。

const createGroupedArray = function (arr, chunkSize) {

    if(!Number.isInteger(chunkSize)){
        throw 'Chunk size must be an integer.';
    }

    if(chunkSize < 1){
        throw 'Chunk size must be greater than 0.';
    }

    const groups = [];
    let i = 0;
    while (i < arr.length) {
        groups.push(arr.slice(i, i += chunkSize));
    }
    return groups;
};

所以如果我通过它:

createGroupedArray([1,2,3,4,5],2)

我得到:

[ [ 1, 2 ], [ 3, 4 ], [ 5 ] ]

如果我这样做:

createGroupedArray([1,2,3],1)

我得到:

[ [ 1 ], [ 2 ], [ 3 ] ]

有人知道我可以对此进行测试吗?我在数据库迁移脚本中使用它,它不会失败。

之所以这样做,是因为我想写入数据库,但一次只能写入约10,000条记录。

1 个答案:

答案 0 :(得分:0)

将数组缩小为另一个数组,如果该数组中长度的最后一项小于大小,则将其添加到最后一个数组中,否则将其添加到具有该项的新数组中。

Iterator::collect()