JS数组对象合并,a,b 合并为c
var a = [ {id: 2, nickname: "韩信", checked: false}, {id: 7, nickname: "刘邦", checked: true}, ]; var b = [ {id: 2, nickname: "韩信", checked: false}, {id: 7, nickname: "刘邦", checked: false}, {id: 8, nickname: "项羽", checked: false}, ]; var ids = {}; // 用于跟踪已经存在的id var c = a.concat(b).filter(item => { if (!ids[item.id]) { // 如果ids中不存在当前id,则将当前id添加到ids中,并保留该项 ids[item.id] = true; return true; } return false; // 如果ids中已经存在当前id,则过滤掉该项 }); console.log(c);
这里,C里的id是唯一,且A里的checked=true时,C对应的也会是true
下面是输出结果

本博客只是记录个人学习中遇到的问题.供参考学习!

浙公网安备 33010602011771号