Функция chunkArray() разбивает массив на более мелкие подмассивы размером в определённое количество элементов и возвращает их в виде нового массива блоков.
function chunkArray(arr, size) {
const result = [];
for (let i = 0; i < arr.length; i += size) {
result.push(arr.slice(i, i + size));
}
return result;
}
result для хранения блоковfor начинается с индекса 0 и увеличивается на size на каждой итерации, фактически перескакивая от блока к блокуarr.slice(i, i + size) извлекает каждый блок — если оставшихся элементов меньше, чем size, он просто возвращает то, что осталосьresult, который возвращается в концеchunkArray([1, 2, 3, 4, 5], 2);
// Возвращает: [[1, 2], [3, 4], [5]]
Array.slice(start, end) — извлекает часть массива без изменения оригинальногоi += size — гарантирует, что каждая итерация переходит к началу следующего блокаМетод Array.slice() изменяет исходный массив на месте, поэтому chunkArray() должна создать новый массив result, чтобы избежать побочных эффектов.
Новый — ещё не проверен сообществом
Вы