2016-11-18 5 views
1

Я написал функцию, которая принимает два параметра: (1) массив, (2) размер куска.Разбиение массива на куски заданного размера

function chunkArrayInGroups(arr, size) { 

    var myArray = []; 

    for(var i = 0; i < arr.length; i += size) { 
    myArray.push(arr.slice(i,size)); 
    } 

    return myArray; 
} 

Я хочу разбить этот массив на куски заданного размера.

chunkArrayInGroups(["a", "b", "c", "d"], 2) 

следует вернуть: [["a", "b"], ["c", "d"]].

я вернусь: [["a", "b"], []]

ответ

5

Вы поняли, что означают slice параметры. Второй - это индекс, до которого (не входит) вы хотите получить подмассиву. Это не длина.

array.slice(from, to); // not array.slice(from, length) 

function chunkArrayInGroups(arr, size) { 
 
    var myArray = []; 
 
    for(var i = 0; i < arr.length; i += size) { 
 
    myArray.push(arr.slice(i, i+size)); 
 
    } 
 
    return myArray; 
 
} 
 
console.log(chunkArrayInGroups(["a", "b", "c", "d"], 2));

Смежные вопросы