合并/替换Javascript数组
Merge/replace Javascript arrays
我有一个像这样的对数组(其中每对中的第一项只是一个基本索引):
a1 = [[0, 3910], [1, 4910], [2, 19401]]
然后我有第二个数字数组:
a2 = [1384559999, 1371254399, 1360799999]
我需要做的是合并a1
和a2
,以便a2
中的项替换来自a1
的每个parer中的第一个对象。像这样:
final = [[1384559999, 3910], [1371254399, 4910], [1360799999, 19401]]
您可以使用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 ] ]
因为这是另一个解决方案。。。
这假设您的意思是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 ] ]
相关文章:
- 如何遍历包含对象的数组-javascript
- 保存数组javascript
- 查找数组javascript中包含的元素类型
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从多维数组javascript中提取特定值
- 如何在数组javascript中选择伪随机值
- 拆分字符串数组(JavaScript)后未定义
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 使用条件for循环更新数组-Javascript
- 从数组javascript创建新对象
- 用数组(javascript)中的值替换regex捕获
- 从数组[Javascript]的总长度中减去一个干净的数字
- 将一个字符串数组解析为一个新的数组javascript
- 如何将对象转换为对象数组javascript
- 赢得't循环数组javascript
- 从不同的数组 JavaScript 中获取值
- 多维数组 JAVASCRIPT 出了点问题
- 可以't分配给一个对象数组javascript
- 比较数组JavaScript中的对象
- 如何完成缺少(连续)元素的数组|Javascript