js根据某个字段去重高效率的方法
时间: 2023-07-20 10:03:19 浏览: 73
可以使用哈希表(Hash Table)来实现根据某个字段去重的高效率方法。
具体步骤如下:
1. 定义一个空的哈希表对象。
2. 遍历需要去重的数组,对于每个元素,取出其需要去重的字段值作为哈希表的键值,将该元素保存到哈希表中。
3. 哈希表的键值是唯一的,因此重复的元素只会被保存一次,从而实现了去重。
4. 最后,将哈希表的所有值转换为数组返回即可。
以下是代码示例:
```javascript
function uniqueByField(arr, field) {
const map = new Map();
for (const item of arr) {
const key = item[field];
if (!map.has(key)) {
map.set(key, item);
}
}
return Array.from(map.values());
}
```
使用示例:
```javascript
const arr = [
{id: 1, name: '张三'},
{id: 2, name: '李四'},
{id: 3, name: '张三'},
{id: 4, name: '王五'},
{id: 5, name: '李四'}
];
const uniqueArr = uniqueByField(arr, 'name');
console.log(uniqueArr);
// 输出:[
// {id: 1, name: '张三'},
// {id: 2, name: '李四'},
// {id: 4, name: '王五'}
// ]
```
阅读全文