我有一对像这样的对(其中每对中的第一项只是一个基本索引):
a1 = [[0, 3910], [1, 4910], [2, 19401]]
然后我有第二组数字:
a2 = [1384559999, 1371254399, 1360799999]
我需要做的是合并a1
和a2
,以便a2
中的项目从a1
替换每个削皮器中的第一个对象。像这样:
final = [[1384559999, 3910], [1371254399, 4910], [1360799999, 19401]]
答案 0 :(得分:4)
您可以使用Array.map
执行此操作
a1 = [[0, 3910], [1, 4910], [2, 19401]]
a2 = [1384559999, 1371254399, 1360799999]
console.log(a2.map(function(current, index) {
return [current, a1[index][1]]
}));
<强>输出强>
[ [ 1384559999, 3910 ],
[ 1371254399, 4910 ],
[ 1360799999, 19401 ] ]
答案 1 :(得分:0)
只是因为这是另一种解决方案......
这假设您的意思是a1[i][0]
是a2中相关值的索引。
var a1 = [[0, 3910], [1, 4910], [2, 19401]];
var a2 = [1384559999, 1371254399, 1360799999];
var a3 = [];
for(var i = 0; i < a1.length; i++) {
tmp = [a2[a1[i][0]], a1[i][1]]
a3.push(tmp);
}
console.log(a3);
// [ [ 1384559999, 3910 ],
// [ 1371254399, 4910 ],
// [ 1360799999, 19401 ] ]
如果您更改索引的值,这仍然有效,例如......
var a1 = [[2, 3910], [1, 4910], [0, 19401]];
// Should be...
// [ [ 1360799999, 3910 ],
// [ 1371254399, 4910 ],
// [ 1384559999, 19401 ] ]
如果a1中每对中的第一个值应该是a2中值的索引,那么.map
就是这样。
var a1 = [[0, 3910], [1, 4910], [2, 19401]];
var a2 = [1384559999, 1371254399, 1360799999];
console.log(a1.map(function(current, index){
return [ a2[current[0]], current[1] ];
}));
//[ [ 1384559999, 3910 ],
// [ 1371254399, 4910 ],
// [ 1360799999, 19401 ] ]