json数组将某一属性值取出构成新的数组并进行去重处理
时间: 2024-03-11 21:51:17 浏览: 103
js操作两个json数组合并、去重,以及删除某一项元素
可以使用JavaScript的Array.map()和Set数据结构来实现将JSON数组中某一属性值取出构成新的数组并去重的功能。
假设我们有以下的JSON数据:
```
const data = [
{ name: 'Alice', age: 20 },
{ name: 'Bob', age: 21 },
{ name: 'Cindy', age: 20 },
{ name: 'David', age: 22 },
{ name: 'Eva', age: 20 }
];
```
我们想要将其中的年龄值取出构成新的数组,并进行去重处理。可以按照如下方式来实现:
```
const ages = [...new Set(data.map(item => item.age))];
```
这段代码中,我们首先使用map()方法将JSON数组中每个元素的年龄值取出,然后使用Set数据结构对其进行去重处理。最终,我们将Set数据结构转换为数组,得到了一个仅包含不同年龄值的数组。
如果您使用的是ES5或更早版本的JavaScript,则不能使用Set数据结构。可以使用以下代码来实现相同的功能:
```
var ages = data.map(function(item) {
return item.age;
}).filter(function(value, index, self) {
return self.indexOf(value) === index;
});
```
这段代码中,我们首先使用map()方法将JSON数组中每个元素的年龄值取出,然后使用filter()方法对其进行去重处理。在filter()方法中,我们使用indexOf()方法来判断当前元素是否为第一次出现。如果是,则保留该元素,否则过滤掉该元素。最终,我们得到了一个仅包含不同年龄值的数组。
阅读全文