通过lodash判断对象类型数组元素之间的包含关系及获取差异值

differenceWith函数接收三个参数,第一个是目标数组,第二个是拿来做比较的数组,第三个是规则,函数返回值是目标数组arr所有元素中不存在比较数组arr1中的值组成的新数组isEqual函数是用来判断复杂类型的数据是否相等的

//引入lodash
import _ from 'lodash'

let differentArr = _.differenceWith(arr, arr1, _.isEqual);

//举个例子
let arr= [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];
let arr1 = [{ 'x': 1, 'y': 2 }];
_.differenceWith(arr, arr1, _.isEqual);
// => [{ 'x': 2, 'y': 1 }]

你可能感兴趣的:(javascript)