2016-09-01 11 views
0

は私が水平合併に私がしたいカップルの配列を持っているガス中の配列をマージ:水平/ JS

data1 = [["ID"], [21], [26], [32]] 

data2 = [["A", "B", "C"],[10, 10, 10], [95, 95, 95], [95, 95, 95]] 

どちらの配列は常に

を「行」の同じ番号を持って、私はこれを探しています結果:

result = [["ID", "A" , "B", "C"],[21, 10, 10, 10]...] 

現在、私は次のコードを持っている:

for (var i = 0; i < data1.length; i++) { 
    data3.push([ data1[i], data2[i] ]); 
} 

私は奇妙な結果をもたらしています。なぜ私は本当にその理由を理解できません。

[[[ "A"]、[10、10、10]]]

任意のヘルプ?私は常に配列と闘う。

+0

を与える 'A、B、C 'は何ですか?変数の場合、コード内では未定義です。 – hindmost

+0

申し訳ありませんが、それをお見逃しなく。彼らは実際には文字列です。 –

答えて

0

これは奇妙な結果ではありません。 A、B、Cは文字列であり、 'A' のように

提案:: は何が必要、この

data3.push(data2[i].unshift(data1[i][0])); 

仮定してみてください達成するためにあなたがよりよいデータ構造に従ってください。それでも以下の解決策を試してみてください。配列のインデックスは1から始まります。あなたは質問を変え続けました。それに応じて私の答えを更新する必要があります。私は以下を試しました、それは私のために働く。

var data1 = [["ID"], [21], [26], [32]]; 

var data2 = [["A", "B", "C"],[10, 10, 10], [95, 95, 95], [95, 95, 95]]; 

var data3 = []; 

    for (var i = 0; i < data1.length; i++) { 
     data2[i].unshift(data1[i][0]); 
     data3.push(data2[i]); 
    } 
console.log(data3) 

は私に次のような出力

[["ID","A","B","C"], [21, 10, 10, 10], [26, 95, 95, 95] ,[32, 95, 95, 95]] 
+0

実際には動作しませんが、私は同じ値を持つ大きな配列を上に取得します。どんな考え? –

+0

新しい解決策を見つけてください – Senthilnathan

+0

それは動作しませんが、私は配列の例を実現しました。私の質問は公正であることはあまり明確ではありませんでした!申し訳ありませんが、私はそれを改善しました。 –