Введение
В этом практическом занятии мы изучим концепцию разделения итерируемого объекта на более мелкие массивы заданного размера с использованием JavaScript. Мы реализуем функцию, которая принимает итерируемый объект и параметр размера и возвращает итерируемый объект из более мелких массивов, каждый из которых содержит максимум size элементов. Эта техника может быть полезна для различных приложений, таких как разбиение больших наборов данных на более мелкие части для обработки или оптимизация сетевых запросов путём уменьшения количества передаваемых данных за один раз.
Разделить итерируемый объект
Чтобы разделить итерируемый объект на более мелкие массивы заданного размера, следуйте этим шагам:
- Откройте Терминал/SSH и введите
node, чтобы начать практиковаться в написании кода. - Используйте цикл
for...ofдля заданного итерируемого объекта, используяArray.prototype.push(), чтобы добавить каждое новое значение в текущийchunk. - Проверьте, имеет ли текущий
chunkтребуемый размер с использованиемArray.prototype.length, и если да, товозвращайтезначение. - Проверьте финальный
chunkс использованиемArray.prototype.lengthивозвращайтеего, если он не пустой. - Используйте следующий код:
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, чтобы улучшить свои навыки.