我有两个数组,其中一个我希望用另一个数组作为对象进行映射。例如:
var myArray = [{'id' : 'first', 'name' : 'firstname'}];
var addressArray = [{'city' : 'London', 'street' : 'Oxford'}];
我想将adress
数组放在myArray
内作为对象,以便我有:
var newArray = [{'id' : 'first', 'name' : 'firstname', 'address' : {'city' : 'London', 'street' : 'Oxford'}}];
我尝试使用forEach
方法进行映射:
myArray.forEach(function(o, i){
o.address = addressArray;
});
但我在输出中不断获得[Object]
:
[{'id' : 'first',
'name' : 'firstname',
'address' : [[Object], [Object]] }]
最好的方法是什么?
答案 0 :(得分:3)
使用index
访问元素
myArray.forEach(function(o, i){
o.address = addressArray[i];
});
var myArray = [{'id' : 'first', 'name' : 'firstname'}];
var addressArray = [{'city' : 'London', 'street' : 'Oxford'}];
myArray.forEach(function(o, i){
o.address = addressArray[i];
});
console.log(myArray)

答案 1 :(得分:2)
使用map代替,因为它实际上是一个新的数组,你将返回其中含有modyfied项目
var res = myArray.map((item, index) => {
item.address = addressArray[index];
return item;
});