在 JavaScript 中合并对象数组
假设您有两个对象数组:
var arr1 = [ { name: "lang", value: "English" }, { name: "age", value: "18" }, ]; var arr2 = [ { name: "childs", value: "5" }, { name: "lang", value: "German" }, ];
您想要将这些数组合并为一个数组:
var arr3 = [ { name: "lang", value: "German" }, { name: "age", value: "18" }, { name: "childs", value: "5" }, ];
jQuery 的 $.extend() 方法
您最初可能会考虑使用 $.extend()。但是,它不满足您的要求,因为它只是更新第一个数组:
$.extend(arr1, arr2); // arr4 = [{name : "childs", value: '5'}, {name: "lang", value: "German"}]
使用 Array.prototype.push.apply()
更多合并数组的有效方法是使用 Array.prototype.push.apply():
Array.prototype.push.apply(arr1, arr2);
这行代码本质上是将 arr2 的元素推到 arr1 的末尾。结果是存储在 arr1 中的合并数组。
// Example var arr1 = [ { name: "lang", value: "English" }, { name: "age", value: "18" }, ]; var arr2 = [ { name: "childs", value: "5" }, { name: "lang", value: "German" }, ]; Array.prototype.push.apply(arr1, arr2); console.log(arr1); // final merged result will be in arr1
输出:
[ { name: "lang", value: "English" }, { name: "age", value: "18" }, { name: "childs", value: "5" }, { name: "lang", value: "German" }, ]
以上是如何有效地合并两个 JavaScript 对象数组?的详细内容。更多信息请关注PHP中文网其他相关文章!