写一个数组对象筛选符合条件,并去重的方法
时间: 2023-07-04 07:28:03 浏览: 101
好的,这里是一个示例的 JavaScript 代码,可以筛选符合条件并去重的数组对象:
```javascript
function filterAndDistinct(arr, key, value) {
// 首先使用 filter 方法筛选符合条件的对象
let filteredArr = arr.filter(obj => obj[key] === value);
// 然后使用 Set 对象去重
let distinctArr = [...new Set(filteredArr)];
// 最后返回去重后的数组对象
return distinctArr;
}
```
这个函数接受三个参数:一个数组对象 arr,一个键名 key,一个键值 value。它会使用 Array.prototype.filter() 方法筛选出符合条件的对象,然后使用 Set 对象去重,最后返回去重后的数组对象。
使用示例:
```javascript
let arr = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' },
{ id: 4, name: 'Bob' },
{ id: 5, name: 'David' },
{ id: 6, name: 'Alice' },
];
let filteredAndDistinctArr = filterAndDistinct(arr, 'name', 'Bob');
console.log(filteredAndDistinctArr);
// 输出:[{ id: 2, name: 'Bob' }]
```
这个示例会筛选出名字为 Bob 的对象,并去重,最终输出一个新的数组对象。
阅读全文