如何在数组对象中提取符合条件的属性并去重
时间: 2024-01-27 16:12:36 浏览: 76
js代码-数组 对象去重 (对象的所有属性相同才能认为相同)
可以使用JavaScript中的高阶函数`filter()`和`map()`来实现这个功能。假设我们有一个包含多个对象的数组,每个对象都有一个属性`name`和一个属性`age`,我们需要提取所有年龄大于等于18岁的人的名字,并去重。
代码示例:
```javascript
const people = [
{ name: 'Alice', age: 20 },
{ name: 'Bob', age: 17 },
{ name: 'Charlie', age: 25 },
{ name: 'Alice', age: 18 },
{ name: 'David', age: 20 },
{ name: 'Charlie', age: 30 }
];
const uniqueNames = [...new Set(people.filter(person => person.age >= 18).map(person => person.name))];
console.log(uniqueNames); // ['Alice', 'Charlie', 'David']
```
首先使用`filter()`函数筛选出所有年龄大于等于18岁的人,然后使用`map()`函数将这些人的名字提取出来,最后使用ES6的扩展运算符和`Set`去重,得到符合条件的人的名字数组。
阅读全文