判断两个数组里面对象属性值是否一样

529 阅读1分钟
如果A数组的name 和 B数组的chineseName一样,就把B数组的icon属性赋值给 A数组对象中

方法一:

A.map(item =>{
const matched = B.find(({chineseName}) => chineseName == item.name);
if(matched){
	Object.assign(item,{icon:matched.icon})
}
})

方法二:

const _B = Object.fromEntries(B.map(({ chineseName, ...rest }) => [chineseName, rest]));
A.forEach(item => {
    const matched = _B[item.name];
    if (matched) {
        Object.assign(item, { icon: matched.icon });
    }
});