2017-06-19 41 views
0

假设我们有一个数组,其中包含多个对象。每个对象都有已定义的属性:将数组B中的对象的属性传递给数组A

arr1 = [ 
    {name: "Harry", lastname: "Potter"}, 
    {name: "Charlie", lastname: "Brown"}, 
    {name: "Frodo", lastname: "Baggins"} 
] 

我们有第二个数组,其中包含arr1中对象的附加属性。在ARR2的对象是在同一个数量级ARR1:

arr2 = [ 
    {bestfriend: "Ron"}, 
    {bestfriend: "Snoopy"}, 
    {bestfriend: "Sam"} 
] 

有什么办法插入对象的属性在ARR2到ARR1?

预期的结果是

arr1 = [ 
    {name: "Harry", lastname: "Potter", bestfriend: "Ron"}, 
    {name: "Charlie", lastname: "Brown", bestfriend: "Snoopy"}, 
    {name: "Frodo", lastname: "Baggins", bestfriend: "Sam"} 
] 
+0

的可能的复制[JavaScript数组地图2D阵列(https://stackoverflow.com/questions/22315681/javascript-array-map-2d-array) – maioman

+0

是的,例如一个简单的for循环就可以做到这一点。在这里问你之前,你应该做研究。 –

+0

尝试:'arr1.forEach((o,i)=> Object.assign(o,arr2 [i]));' –

回答

-1
arr1 = [{name: "Harry", lastname: "Potter"}, {name: "Charlie", lastname: "Brown"}, {name: "Frodo", lastname: "Baggins"}]; 
arr2 = [{bestfriend: "Ron"}, {bestfriend: "Snoopy"}, {bestfriend: "Sam"}]; 
for (var i=0; i < arr2.length; i++) { 
    for (var prop in arr2[i]) { 
    arr1[i][prop] = arr2[i][prop]; 
    } 
} 
+0

是的,这是有效的!非常感谢! –

+1

[不要在列表中使用'for ... in'枚举!](https://stackoverflow.com/q/500504/1048572) – Bergi

相关问题