gpt4 book ai didi

Javascript 将元素从另一个对象添加到一个对象

转载 作者:行者123 更新时间:2023-11-28 13:10:26 25 4
gpt4 key购买 nike

我有一个对象。 data 对象中的第一个元素如下所示:

data[0] = {name:"Bob", model:"Tesla", color:"white"};

和第二个对象,其第一个元素如下所示:

new_data[0] = {salary:"50000", age:"34"};

datanew_data 的长度相同,new_data 对象内的每个元素都需要附加到相关的 上data 对象,制作如下内容:

data[0] = {name:"Bob", model:"Tesla", color:"white", salary:"50000", age:"34"};

我之前使用过 concat 将元素添加到单行对象中( var

people = ["Dan","Bob"];
people.concat("Mike");

,但同样的想法在这里不起作用:

for ( var i = 0;i<data.length; i++ ) {
data[i] = data[i].concat(new_data[i]);
}

我该如何循环遍历这个?

最佳答案

因此,您已经使用 jQuery 标记了您的问题,我在下面使用了它的 $.extend() 方法 ( jQuery Documentation )。

这只是适合您箱子的单衬解决方案。通过将 true 传递给此方法,您可以轻松地将 object2 递归地合并到 object1 中。 jQuery 很聪明地发现两个对象都是长度相同的数组,因此输出是一个数组,并且结果数组中的每个项目都是两个对象的合并结果。

Object.assign 是相当新的 (ES6),可能并非所有浏览器都支持 ( Source )。但这种 jQuery 方式可以节省时间,支持所有浏览器。

var collection1 = [{
name: "Bob",
model: "Tesla",
color: "white"
},
{
name: "Bob 1",
model: "Tesla 1",
color: "white 1"
}
];
var collection2 = [{
salary: "50000",
age: "34"
},
{
salary: "50001",
age: "35"
}
];

var result = $.extend(true, collection1, collection2);

console.log(result);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

关于Javascript 将元素从另一个对象添加到一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42940753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com