lodash 源码解读 _.difference()
_.difference(arr1, arr2)在第二个数组中找出第一个数组中不存在的,并以数组形式返回不存在的值。
var other = _.difference([1,2], [2,4]); // other: 1
function _.difference(array, values) { return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : []; } //首先判断 array 是不是数组,如果是,将 values 转换成简单数组,再比较,baseDifference 进行比较不同,baseDifference 采用的是两层循环比较的办法,创建一个新的数组,把相同的收到这个数组并返回