gpt4 book ai didi

javascript - 如何从 JavaScript 中的对象数组中获取不同的值?

转载 作者:IT老高 更新时间:2023-10-28 13:11:50 27 4
gpt4 key购买 nike

假设我有以下几点:

var array = 
[
{"name":"Joe", "age":17},
{"name":"Bob", "age":17},
{"name":"Carl", "age": 35}
]

能够获得所有不同年龄的数组的最佳方法是什么,以便我获得以下结果数组:

[17, 35]

是否有某种方法可以替代地构造数据或更好的方法,这样我就不必遍历每个数组来检查“age”的值并检查另一个数组是否存在,如果不存在则添加它?

如果有什么方法我可以在不迭代的情况下提取不同的年龄......

我想改进的当前低效方式...如果这意味着不是“数组”是一个对象数组,而是一个具有一些唯一键(即“1,2,3”)的对象的“映射”那也没关系。我只是在寻找最高效的方法。

以下是我目前的做法,但对我来说,迭代似乎只是效率低下,即使它确实有效......

var distinct = []
for (var i = 0; i < array.length; i++)
if (array[i].age not in distinct)
distinct.push(array[i].age)

最佳答案

如果你使用的是 ES6/ES2015 或更高版本,你可以这样做:

const data = [
{ group: 'A', name: 'SD' },
{ group: 'B', name: 'FI' },
{ group: 'A', name: 'MM' },
{ group: 'B', name: 'CO'}
];
const unique = [...new Set(data.map(item => item.group))]; // [ 'A', 'B']

Here是一个如何做的例子。

关于javascript - 如何从 JavaScript 中的对象数组中获取不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15125920/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com