js auto merge objects in array
js auto merge objects in array
Object.assign({}, obj1, obj2);
Object.assign([], arr1, arr2);
arr1 = new Array({name: "lang", value: "English"}, {name: "age", value: "18"});
(2) [{…}, {…}]
arr2 = new Array({name : "childs", value: '5'}, {name: "lang", value: "German"});
(2) [{…}, {…}]
arr1 = [{name: "lang", value: "English"}, {name: "age", value: "18"}];
arr2 = [{name : "childs", value: '5'}, {name: "lang", value: "German"}];
[...arr1, ...arr2]
(4) [{…}, {…}, {…}, {…}]0: {name: "lang", value: "English"}1: {name: "age", value: "18"}2: {name: "childs", value: "5"}3: {name: "lang", value: "German"}length: 4__proto__: Array(0)
map = new Map();
Map(0) {}
for(obj of [...arr1, ...arr2]) {
if(!map.has(obj.name)) {
map.set(obj.name, obj);
} else {
map.set(obj.name, {
...map.get(obj.name),
...obj,
});
}
}
Map(3) {"childs" => {…}, "lang" => {…}, "age" => {…}}[[Entries]]0: {"childs" => Object}1: {"lang" => Object}2: {"age" => Object}size: (...)__proto__: Map
arr4 = map.values();
MapIterator {{…}, {…}, {…}}
arr4 = [...map.values()];
(3) [{…}, {…}, {…}]0: {name: "childs", value: "5"}1: {name: "lang", value: "German"}2: {name: "age", value: "18"}length: 3__proto__: Array(0)
refs
https://stackoverflow.com/questions/7146217/merge-2-arrays-of-objects/41919138
https://www.samanthaming.com/tidbits/49-2-ways-to-merge-arrays/
https://reactgo.com/javascript-merge-array-objects-key/
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#array_literals
©xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/14570849.html
未经授权禁止转载,违者必究!