📅  最后修改于: 2023-12-03 15:32:44.506000             🧑  作者: Mango
_.intersectionBy()
方法是 Lodash 中的一个数组方法,用于找出多个数组中的共同元素,根据一个指定的迭代器函数对每个元素进行比较。
_.intersectionBy([arrays], [iteratee=_.identity])
[arrays]
(Array): 要检查的数组集合。[iteratee=_.identity]
(Function): 迭代器函数,用于处理每个元素后再比较。(Array): 返回一个新的去重后的共同元素数组。
const _ = require('lodash');
const arr1 = [{ 'x': 1 }, { 'x': 2 }];
const arr2 = [{ 'x': 2 }, { 'x': 3 }];
const arr3 = [{ 'x': 1 }, { 'x': 4 }];
const result = _.intersectionBy(arr1, arr2, arr3, 'x');
console.log(result);
// => [{ 'x': 2 }]
在上面的例子中,_.intersectionBy()
方法将数组 arr1
、arr2
和 arr3
作为参数,通过 x
属性对每个对象进行比较,返回了一个新的数组,该数组包含对所有三个数组均存在的对象,故最终输出结果为 [{ 'x': 2 }]
。
_.intersectionBy()
方法是 Lodash 提供的一个简便方法,可以轻松找出多个数组中的共同元素,而不必自己实现一个复杂的算法来达到同样的效果。如果您经常需要操作数组,并且需要像前面的例子中那样查找共同元素,那么 _.intersectionBy()
将是一个非常强大的工具,您值得尝试一下。