当前位置: 首页 > 面试题库 >

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

汝和裕
2023-03-14
问题内容

假设我有以下内容:

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)

问题答案:

如果这是PHP,我会用键构建一个数组并array_keys在末尾使用,但是JS却没有这样的奢侈。相反,请尝试以下操作:

var flags = [], output = [], l = array.length, i;
for( i=0; i<l; i++) {
    if( flags[array[i].age]) continue;
    flags[array[i].age] = true;
    output.push(array[i].age);
}


 类似资料:
  • 问题内容: 在viewmodel对象中,以下是属性: 在VIEW中,javascript如下: 请在这里指导,我如何在javascript中获取JSON对象。 问题答案: 您可以使用以下内容: 这将输出以下内容(没有看到您的模型,我仅包含一个字段): 工作小提琴 AspNetCore AspNetCore使用的接口 MVC 5/6 您可以为此使用Newtonsoft: 这使您可以更好地控制json

  • 我想用JavaScript将这个对象中的数字放入一个数组。我已经用尝试过了,但在Chrome中出现了以下错误: 未捕获的TypeError:Data.Split不是函数。 我如何提取数字?

  • 我有一个对象只包括一个数组(17)。我想从这个数组中得到特定的值,例如 时,我得到: 最后,在调用this.flights['states'][0][4]时,我收到一个错误: 正在启动我从Opensky网络Api获取的flights对象:

  • 有一个名为的类。 并且我有一个对象的数组。我现在需要的是将该数组中所有对象的s提取到一个新数组中。 我也发现了这个类似的问题。但是它是在Objective-C中的,所以它使用来实现这一点。 我怎么能在斯威夫特做到这一点呢?

  • 假设我有一个像这样的对象数组: 我如何循环它(如果我必须),以便我得到一个特定键值的列表。让我们来举一个所有名字的列表。 多谢了。

  • 本文向大家介绍如何在JavaScript中获取对象的值?,包括了如何在JavaScript中获取对象的值?的使用技巧和注意事项,需要的朋友参考一下 有一些方法,例如Object.values()来获取对象的值。但是,通过这些方法,找出值的过程很漫长。为了缓解这个,Underscore.js的JavaScript库已经提供了一种方法称为_.values() 。此方法不需要for循环即可执行值。这是执