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 采用的是两层循环比较的办法,创建一个新的数组,把相同的收到这个数组并返回

 

posted on 2017-05-25 09:31  bbb324  阅读(264)  评论(0编辑  收藏  举报

导航