2017-02-12 69 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));