當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。