晚安。一些慈善人士帮助我解决了有关 javascript 对象的问题。非常感谢谁能...
var arrA = [
{language:'php', count_access:5},
{language:'c', count_access:7}
];
var arrB = [
{language:'php', count_access:0},
{language:'c', count_access:0},
{language:'python', count_access:0},
{language:'ace', count_access:0},
{language:'electron', count_access:0},
];
var result = [...arrA, ...arrB].reduce((acc, item) => {
return item;
}) ;
arrA.concat(result)
//How would you do for the output to be
/*[
{language:'php', count_access:5},
{language:'c', count_access:7},
{language:'python', count_access:0},
{language:'ace', count_access:0},
{language:'electron', count_access:0},
]*/
最佳答案
这会起作用,它还会添加匹配语言
的计数
var arrA = [
{language:'php', count:5},
{language:'c', count:7}
];
var arrB = [
{language:'php', count:0},
{language:'c', count:0},
{language:'python', count:0},
{language:'ace', count:0},
{language:'electron', count:0},
];
let result = [...arrA, ...arrB].reduce((acc, item) => {
let found = acc.find(x => x.language=== item.language);
if (found) {
found.count += item.count;
} else {
acc.push(Object.assign({},item));
}
return acc;
}, [])
console.log(result);
关于javascript - 合并对象: Problem with comparing and merge two objects in javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58600507/