js怎么去掉数组重复的工具
怎样在 javascript 中去除数组中的重复工具?set 数据结构:建设 set,使用其不存储重复值的特点。reduce() 要领:使用累加器函数逐个检查元素,将不重复元素放入累加器。filter() 和 indexof() 要领:过滤索引与数组中第一个索引相同的元素,去除重复。lodash 库:使用 uniqby 要领,基于指定属性去除重复工具。
怎样在 JavaScript 中去除数组中的重复工具
JavaScript 数组中包括工具时,我们需要对工具举行去重操作。让我们一步一步深入相识怎样在 JavaScript 中实现此目的。
1. 使用 Set 数据结构
Set 数据结构在 JavaScript 中是一个内置的工具,它不会存储重复值。我们可以使用它往复除数组中的重复工具:
const originalArray = [{ name: 'John' }, { name: 'Jane' }, { name: 'John' }, { name: 'Mary' }]; const uniqueObjects = [...new Set(originalArray)]; console.log(uniqueObjects); // 输出: [{ name: 'John' }, { name: 'Jane' }, { name: 'Mary' }]
登录后复制
2. 使用 reduce() 要领
reduce() 要领允许我们使用一个累加器函数将数组元素合并为一个简单的值。我们可以使用它来构建一个不含重复工具的数组:
const uniqueObjects = originalArray.reduce((acc, curr) => { const found = acc.find(obj => obj.name === curr.name); if (!found) acc.push(curr); return acc; }, []); console.log(uniqueObjects); // 输出: [{ name: 'John' }, { name: 'Jane' }, { name: 'Mary' }]
登录后复制
3. 使用 filter() 和 indexOf() 要领
filter() 要领允许我们基于一个条件函数过滤数组元素。indexOf() 要领返回给定元素在数组中的第一个索引,若是不保存则返回 -1。我们可以使用它们来实现工具去重:
const uniqueObjects = originalArray.filter((obj, i) => originalArray.indexOf(obj) === i); console.log(uniqueObjects); // 输出: [{ name: 'John' }, { name: 'Jane' }, { name: 'Mary' }]
登录后复制
4. 使用 Lodash
Lodash 是一个功效强盛的 JavaScript 适用程序库。它提供了一个叫 uniqBy 的要领,可以基于一个给定的属性往复除数组中的重复工具:
import { uniqBy } from 'lodash'; const uniqueObjects = uniqBy(originalArray, 'name'); console.log(uniqueObjects); // 输出: [{ name: 'John' }, { name: 'Jane' }, { name: 'Mary' }]
登录后复制
以上就是js怎么去掉数组重复的工具的详细内容,更多请关注本网内其它相关文章!
免责说明:以上展示内容泉源于相助媒体、企业机构、网友提供或网络网络整理,版权争议与本站无关,文章涉及看法与看法不代表GA黄金甲滤油机网官方态度,请读者仅做参考。本文接待转载,转载请说明来由。若您以为本文侵占了您的版权信息,或您发明该内容有任何涉及有违公德、冒犯执法等违法信息,请您连忙联系GA黄金甲实时修正或删除。