2016-09-13 9 views
1

2つの1次元配列(同じ長さ)で構成される新しい配列をjavascriptで作成しようとしています。別の配列の2つの列を結合して新しいjavascript配列を作成する

var A = [1,2,3]; 
var B = [20, 10, 30]; 

と私はCを作成したい:

C = [[1,20],[2,10],[3,30]]; 

これはかなり単純な問題のように思えます。私はこれを(ループを避けるために)使用できる関数があるのだろうかと思います。おそらく何かarray.fromまたはマップで何か?私はそれがどのように正確に働くかを考え出すのにいくつかの問題を抱えています。

答えて

3

あなたは、私たちは、マップ機能を使用することができ、同じ長さの配列のために

var A = [1, 2, 3]; 
 
var B = [20, 10, 30]; 
 

 
var C = A.map(function(item, index) { 
 
    return [item, B[index]] 
 

 
}); 
 

 
console.log(C);

1

次試すことができます - 異なるの両方の配列のされている場合、私はちょうどより多くの情報を提供していますニキルの回答

を長さ

function mixArray(a, b) { 
    if (a.length < b.length) { 
    var j = Array(b.length-a.length).fill(''); 
    a = a.concat(j); 
    } 

return a.map(function(item, index) { 
    var tempArr = []; 
    if (item !== '') { 
     tempArr.push(item); 
    } 
    if (b[index] !== undefined) { 
     tempArr.push(b[index]); 
    } 
    return tempArr; 
    }); 

} 

入力

var a = [1, 2, 3, 7, 8, 9]; 
var b = [20, 10, 30, 5]; 
console.log(mixArray(a,b)); // [[1, 20], [2, 10], [3, 30], [7, 5], [8], [9]] 

var a = [1, 2]; 
var b = [20, 10, 30, 5]; 
console.log(mixArray(a,b)); // [[1, 20], [2, 10], [30], [5]] 

は、この情報がお役に立てば幸い!ありがとう デモ:https://jsbin.com/dusuna/edit?html,js,console

関連する問題