第一种方法
const arr = [{ name: "q", age: 10, size: "M", }, { name: "w", age: 10, size: "S", }, { name: "e", age: 10, size: "M", },];
const arr2 = [{ name: "q", age: 10, size: "M", }, { name: "w", age: 10, size: "S", }, { name: "i", age: 10, size: "S", }, { name: "x", age: 10, size: "S", },];
const set = new Set(arr2.map(({ name, size }) => size + "/" + name));
const x = [], y = [];
for (let obj of arr) {
(set.has(obj.size + "/" + obj.name) ? x : y).push(obj);
}
console.log(x);
console.log(y);
第二种方法
let arr1 = [{id:'1',name:'json'},{id:'2',name:'book'} ]
let arr2 = [{id:'1',name:'json',age:'15'},{id:'2',name:'book',age:'16'},{id:'3',name:'ani',age:'17'}]
//ES6的方法
let add = arr2.filter(item => !arr1.some(ele=>ele.id===item.id));
cosnole.log(add);
js对比数组的相同值跟不同值
最新推荐文章于 2024-09-19 13:57:26 发布