当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Lodash _.differenceWith()用法及代码示例


_.differenceWith() 方法类似于 _.difference() 方法,它返回包含第一个数组中的值的数组,而不是在第二个数组中,而是在 _.differenceWith() 中,第一个数组的所有元素通过应用与第二个数组进行比较第三个提供的比较。阅读本文可能会有点复杂,但是当您看到示例时就会变得简单。

用法:

_.differenceWith(array, [values], [comparator])

参数:此方法接受上述和以下所述的三个参数:

  • array:此参数保存检查或检查值的数组。
  • values:此参数保存需要删除的值。
  • comparator:此参数保存每个元素调用的比较。

返回值:此方法根据上述条件返回一个数组。

范例1:


const _ = require('lodash')
  
let x = [1, 2, 3]
  
let y = [2, 4, 5]
  
let result = _.differenceWith(x, y, _.isEqual);
  
console.log(result);

这里,const _ = require('lodash')用于将 lodash 库导入文件。

输出:

[1, 3]

所以,这里第一个数组的每个元素都根据第三个比较器与第二个数组的每个元素进行比较,在我们的例子中是_.isEqual。因此,如果值变得相等,则将其删除。

范例2:


const _ = require('lodash');
  
let x = [{a:1}, {b:2}, 6]
  
let y = [{a:1}, 7, 6]
  
let result = _.differenceWith(x, y, _.isEqual);
  
console.log(result);

输出:

[{b:2}]

范例3:


const _ = require('lodash');
  
let x1 = [1, 2, 3]
  
let y1 = [2, 4, 5]
  
let result1 = _.differenceWith(x1, y1, _.isEqual);
  
console.log(result1);
  
let x2 = [{a:1}, {b:2}, 6]
  
let y2 = [{a:1}, 7, 6]
  
let result2 = _.differenceWith(x2, y2, _.isEqual);
  
console.log('\n\n', result2);

输出:

注意:在正常的JavaScript中这将无法正常工作,因为它需要安装库lodash。

参考: https://lodash.com/docs/4.17.15#differenceWith


相关用法


注:本文由纯净天空筛选整理自iamsahil1910大神的英文原创作品 Lodash | _.differenceWith() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。