js 对象数组读取某个字段去重
对于 JavaScript 中的对象数组,你可以使用以下方法来读取某个字段并去重:
1. 使用 Set 数据结构:使用 Set 来存储唯一的字段值。遍历对象数组,获取需要的字段值,然后将其添加到 Set 中。最后,将 Set 转换为数组即可得到去重后的字段值列表。
```javascript
const objArr = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'John' },
{ id: 4, name: 'Alex' },
{ id: 5, name: 'Jane' }
];
const uniqueNames = [...new Set(objArr.map(obj => obj.name))];
console.log(uniqueNames); // 输出: ['John', 'Jane', 'Alex']
```
2. 使用 reduce 方法:使用 reduce 方法遍历对象数组,并使用一个对象来存储已经遍历过的字段值,如果字段值不存在,则将其添加到对象中,并将其置为 true。最后,使用 `Object.keys()` 方法获取对象的所有键,即可得到去重后的字段值列表。
```javascript
const objArr = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'John' },
{ id: 4, name: 'Alex' },
{ id: 5, name: 'Jane' }
];
const uniqueNames = Object.keys(objArr.reduce((acc, obj) => {
acc[obj.name] = true;
return acc;
}, {}));
console.log(uniqueNames); // 输出: ['John', 'Jane', 'Alex']
```
这些方法都可以帮助你读取对象数组中的某个字段,并得到去重后的字段值列表。根据具体情况选择合适的方法。