2017-02-12 6 views
1

こんにちは、私は今この問題に何時間も座っていました。私のコードは正しいとは思うが、それはまだ動作していません。
VAR newArr = [[ "A"、 "B"]、[ "C"、 "D"]]
(ARRおよびサイズは常に変数になります)パラメータのループインデックスを使用したjavascript - array.slice?

function separateIt(arr, size) { 
var newArr = []; 
for(var i = 0; i < arr.length; i += size){ 
    var sliceIt = arr.slice(arr[i],[arr[i]+size]); 
    newArr.push(sliceIt); 
} 
return newArr; 
} 

console.log(separateIt(["a", "b", "c", "d"], 2)); 
:私はこの答えを取得する必要があります私は初心者です任意の助け

感謝:)

答えて

0

あなたはインデックスではなく、配列の値

var sliceIt = arr.slice(i, i + size); 
//     ^^^^^^^^^ 

function separateIt(arr, size) { 
 
    var newArr = []; 
 
    for (var i = 0; i < arr.length; i += size) { 
 
     var sliceIt = arr.slice(i, i + size); 
 
     newArr.push(sliceIt); 
 
    } 
 
    return newArr; 
 
} 
 

 
console.log(separateIt(["a", "b", "c", "d"], 2));
を使用することができます私がお勧めしたい

+0

優秀な提案、私はあなたがそのような「指標」を使用することができます知りませんでした!巨大な助けTY。 – swenm

0

最も簡単な方法は以下の通りです:

function separateIt(arr, size) { 
 

 
    // creating a new Array to return 
 
    // to the calling context: 
 
    let res = []; 
 
    while (arr.length) { 
 

 
    // appending a new Array created from the 
 
    // first element to the size-th element, 
 
    // modifying the original array ('arr') 
 
    // by removing those elements: 
 
    res.push(arr.splice(0, size)); 
 
    } 
 

 
    // returning the new Array: 
 
    return res; 
 
} 
 
console.log(separateIt(["a", "b", "c", "d"], 2));

関連する問題