gpt4 book ai didi

javascript - Node.js 中的快速数组分块

转载 作者:行者123 更新时间:2023-12-01 01:36:51 26 4
gpt4 key购买 nike

我正在对长数据集进行数组分块。我需要创建一个新的具有一定大小的 block 数组。目前,我使用这个解决方案,但它的性能很差。

function array_to_chunks(data, size){
let chunks = []
let d = data.slice()
while (d.length >= size) chunks.push(d.splice(0, size))
return chunks
}

我想找到一些更好的想法来了解如何足够快地完成它以及为什么我的代码性能不佳。

最佳答案

这会稍微提高性能,因为您不必复制数组:

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;
};

如果您正在执行 I/O,则使用 Node.js 流:

const strm = new Writable({
write(chunk, enc, cb){
// do whatever
}
});

关于javascript - Node.js 中的快速数组分块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52750661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com