js方法,对象类型数组,根据字段id 数组去重
时间: 2024-11-30 18:21:45 浏览: 14
JS根据json数组多个字段排序及json数组常用操作
在JavaScript中,如果你有一个对象类型的数组,并且想要基于某个字段(比如id)进行去重,可以采用以下几种方法:
1. 使用`Set`数据结构:Set会自动去除重复元素,你可以先将所有对象的id属性转换成数组,然后转化为Set,最后再转回数组。
```javascript
function uniqueArrayById(arr, idField) {
return Array.from(new Set(arr.map(item => item[idField])));
}
```
在这个例子中,`arr`是你的对象数组,`idField`是你想要基于其值去重的字段名。
2. 自定义比较函数:如果你需要更复杂的去重规则,可以提供一个比较函数给`filter()`方法。
```javascript
function uniqueArrayById(arr, idField) {
return arr.filter((item, index, self) => {
return index === self.findIndex(i => i[idField] === item[idField]);
});
}
```
阅读全文