2017-12-20 10 views
0

にオブジェクトへの配列の各n番目の要素の変換:私が変換したいのjavascript

var people = [1,"Shaw","Tanzania",2,"Nelson","Kazakhstan",3,"Garcia","Madagascar"] 

に:私は同様の質問にこの答えを見てきました

var rows = [ 
    [1, "Shaw", "Tanzania"], 
    [2, "Nelson", "Kazakhstan"], 
    [3, "Garcia", "Madagascar"] 
]; 

を、しかし、私はそれがどのように動作しているか分かりませんし、n番目の要素にそれを拡張します

答えて

3

Array#sliceのforループを使用してください。必要なチャンクサイズをステップとして使用して、元の配列を繰り返します。各繰り返しで、元の配列(スライスは配列を変更しません)から関連する部分をスライスし、結果配列にプッシュします。

var people = [1,"Shaw","Tanzania",2,"Nelson","Kazakhstan",3,"Garcia","Madagascar"]; 
 

 
var result = []; 
 
var chunkSize = 3; 
 

 
for(var i = 0; i < people.length; i+= chunkSize) { 
 
    result.push(people.slice(i, i + chunkSize)); 
 
} 
 

 
console.log(result);

関連する問題