📜  Lodash _.uniqBy() 方法(1)

📅  最后修改于: 2023-12-03 15:32:44.981000             🧑  作者: Mango

Lodash _.uniqBy() 方法

Lodash是一个流行的JavaScript工具库,为开发人员提供了许多实用工具函数。其中之一是 _.uniqBy() 方法,它可以从数组中删除重复项,根据提供的属性值比较对象。

语法
_.uniqBy(array, [iteratee=_.identity])

参数:

  • array:需要去重的数组。
  • iteratee:用于计算每个元素的属性值的函数。
返回值

返回一个新的去重后的数组。

例子
const array = [
  { id: 1, name: 'John' },
  { id: 2, name: 'Alice' },
  { id: 3, name: 'Bob' },
  { id: 1, name: 'John' },
];

const uniqueArray = _.uniqBy(array, 'id');

console.log(uniqueArray);
// Output: [{ id: 1, name: 'John' }, { id: 2, name: 'Alice' }, { id: 3, name: 'Bob' }]

在这个例子中,我们首先定义了一个包含4个对象的数组,其中一些对象具有相同的 id 属性。然后,我们使用 _.uniqBy() 方法来根据 id 属性去除重复项,最终得到一个只有3个对象的数组。

尝试修改 _.uniqBy() 方法的第二个参数,可以比较不同属性,如:

_.uniqBy(array, 'name');

上面的代码将根据 name 属性去重,而不是 id 属性。

总结

Lodash库提供了许多实用的工具函数,其中 _.uniqBy() 方法可以根据提供的属性值比较对象,并从数组中删除重复项。该方法接受两个参数,第一个是需要去重的数组,第二个是用于计算每个元素属性值的函数,也可以直接提供一个属性名称。方法返回一个新的去重后的数组。