合并对象(关联数组)
2022-08-30 03:06:02
在JavaScript中合并两个关联数组的最佳/标准方法是什么?每个人都只是通过滚动自己的循环来做到这一点吗?for
在JavaScript中合并两个关联数组的最佳/标准方法是什么?每个人都只是通过滚动自己的循环来做到这一点吗?for
使用jquery,您可以调用$.extend
var obj1 = {a: 1, b: 2};
var obj2 = {a: 4, c: 110};
var obj3 = $.extend(obj1, obj2);
obj1 == obj3 == {a: 4, b: 2, c: 110} // Pseudo JS
(附属数组是 js 中的对象)
看这里: http://api.jquery.com/jQuery.extend/
编辑:就像rymo建议的那样,最好这样做:
obj3 = $.extend({}, obj1, obj2);
obj3 == {a: 4, b: 2, c: 110}
在这里,obj1(和obj2)保持不变。
编辑2:在2018年,做到这一点的方法是通过:Object.assign
var obj3 = Object.assign({}, obj1, obj2);
obj3 === {a: 4, b: 2, c: 110} // Pseudo JS
如果使用 ES6,则可以使用“展开”运算符实现此目的:
const obj3 = { ...obj1, ...obj2 };
现在在2016年,我会说最好/标准的方式是Object.assign()
纯Javascript。不需要 jQuery。
obj1 = {a: 1, b: 2};
obj2 = {a: 4, c: 110};
obj3 = Object.assign({},obj1, obj2); // Object {a: 4, b: 2, c: 110}
更多信息,示例和polyfill在这里:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign