Lodash _.intersectionWith() 方法
Lodash 是一个基于 Underscore.js 的 JavaScript 库。 Lodash 有助于处理数组、字符串、对象、数字等。
_.intersectionwith()方法用于取一个或多个数组的交集。它与 lodash 中的交集函数相同,唯一的区别是它接受一个比较器,该比较器被调用来比较数组的元素。
句法:
intersectionWith([arrays], [comparator])
参数:此方法接受上面提到的两个参数,如下所述:
- 数组:它接受一个数组作为参数。
- 比较器:它是迭代数组的每个值并将这些值与给定的比较器函数进行比较的函数。
返回值:返回数组相交后的数组。
注意:在使用下面给出的代码之前,请使用命令npm install lodash安装 lodash 模块。
示例 1:
Javascript
// Requiring the lodash library
const _ = require("lodash");
// Original array
let array1 = [
{ "a": 1 }, { "b": 2 },
{ "b": 2, "a": 1 }
]
let array2 = [
{ "a": 1, "b": 2 },
{ "a": 1 }
]
// Using _.intersectionWith() method
let newArray = _.intersectionWith(
array1, array2, _.isEqual);
// Printing original Array
console.log("original Array1: ", array1)
console.log("original Array2: ", array2)
// Printing the newArray
console.log("new Array: ", newArray)
Javascript
// Requiring the lodash library
const _ = require("lodash");
// Original array
let array1 = [
{ "a": 1 }, { "b": 2 },
{ "b": 2, "a": 1 }
]
let array2 = [
{ "a": 1, "b": 2 },
{ "a": 1 }
]
// Using _.intersectionWith() method
// and no comparator function
let newArray = _.intersectionWith(
array1, array2);
// Printing original Array
console.log("original Array1: ", array1)
console.log("original Array2: ", array2)
// Printing the newArray
console.log("new Array: ", newArray)
输出:
示例 2:当不使用比较器函数时,即 _.isequal(),则输出为空数组。
Javascript
// Requiring the lodash library
const _ = require("lodash");
// Original array
let array1 = [
{ "a": 1 }, { "b": 2 },
{ "b": 2, "a": 1 }
]
let array2 = [
{ "a": 1, "b": 2 },
{ "a": 1 }
]
// Using _.intersectionWith() method
// and no comparator function
let newArray = _.intersectionWith(
array1, array2);
// Printing original Array
console.log("original Array1: ", array1)
console.log("original Array2: ", array2)
// Printing the newArray
console.log("new Array: ", newArray)
输出: