取数组差集(数组元素为对象)

4年以前  |  阅读数:273 次  |  编程语言:JavaScript 
//数组arr1相对于arr2所没有的

let arr1 = [{ name: 'name1', id: 1 }, { name: 'name2', id: 2 }, { name: 'name3', id: 3 }];
let arr2 = [{ name: 'name1', id: 1 }, { name: 'name4', id: 4 }, { name: 'name5', id: 5 }];
let result = arr1.filter(function (v) {
  return arr2.every(n => JSON.stringify(n) !== JSON.stringify(v))
})
console.log(result); // [ { name: 'name2', id: 2 }, { name: 'name3', id: 3 } ]

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8