简介
在本实验中,我们将探索如何使用 JavaScript 将可迭代对象分块为指定大小的较小数组。我们将实现一个函数,该函数接受一个可迭代对象和一个大小参数,并返回一个由较小数组组成的可迭代对象,每个较小数组最多包含 size 个元素。此技术可用于各种应用程序,例如将大型数据集分解为较小的块进行处理,或通过减少一次传输的数据量来优化网络请求。
在本实验中,我们将探索如何使用 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 中练习更多实验来提升你的技能。