简介
在本实验中,我们将探索如何使用 JavaScript 将可迭代对象分块为指定大小的较小数组。我们将实现一个函数,该函数接受一个可迭代对象和一个大小参数,并返回一个由较小数组组成的可迭代对象,每个较小数组最多包含 size
个元素。此技术可用于各种应用程序,例如将大型数据集分解为较小的块进行处理,或通过减少一次传输的数据量来优化网络请求。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
在本实验中,我们将探索如何使用 JavaScript 将可迭代对象分块为指定大小的较小数组。我们将实现一个函数,该函数接受一个可迭代对象和一个大小参数,并返回一个由较小数组组成的可迭代对象,每个较小数组最多包含 size
个元素。此技术可用于各种应用程序,例如将大型数据集分解为较小的块进行处理,或通过减少一次传输的数据量来优化网络请求。
要将一个可迭代对象分块为指定大小的较小数组,请按以下步骤操作:
node
以开始练习编码。for...of
循环,使用 Array.prototype.push()
将每个新值添加到当前的 块
中。Array.prototype.length
检查当前的 块
是否达到所需的 大小
,如果达到则 yield
该值。Array.prototype.length
检查最后一个 块
,如果不为空则 yield
它。const chunkify = function* (itr, size) {
let chunk = [];
for (const v of itr) {
chunk.push(v);
if (chunk.length === size) {
yield chunk;
chunk = [];
}
}
if (chunk.length) yield chunk;
};
const x = new Set([1, 2, 1, 3, 4, 1, 2, 5]);
[...chunkify(x, 2)]; // [[1, 2], [3, 4], [5]]
恭喜你!你已经完成了“将可迭代对象分块”实验。你可以在 LabEx 中练习更多实验来提升你的技能。