我想要水平合并的几个数组:
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] ] );
}
这给了我一个奇怪的结果,我不明白为什么。
[[[&#34; A&#34;],[10,10,10]]]
有任何帮助吗?我总是在与阵列斗争。
答案 0 :(得分:0)
这不是一个奇怪的结果。 为了达到你的需要,请试试这个
data3.push( data2[i].unshift(data1[i][0]) );
假设:A,B,C是字符串,如'A'
建议:您应该遵循更好的数据结构。但仍尝试以下解决方案。数组索引从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]]