相关疑难解决方法(0)

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

假设我有以下内容:

var array = 
    [
        {"name":"Joe", "age":17}, 
        {"name":"Bob", "age":17}, 
        {"name":"Carl", "age": 35}
    ]
Run Code Online (Sandbox Code Playgroud)

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

[17, 35]
Run Code Online (Sandbox Code Playgroud)

有没有办法我可以选择构造数据或更好的方法,这样我就不必遍历每个数组检查"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)
Run Code Online (Sandbox Code Playgroud)

javascript arrays unique

325
推荐指数
27
解决办法
40万
查看次数

如何使用下划线获取基于对象属性的唯一数组

我有一个对象数组,我想从它获得一个新的数组,它只是基于一个属性是唯一的,有一个简单的方法来实现这一点吗?

例如.

[ { id: 1, name: 'bob' }, { id: 1, name: 'bill' }, { id: 1, name: 'bill' } ]
Run Code Online (Sandbox Code Playgroud)

将导致名称= bill的2个对象被删除一次.

javascript underscore.js

40
推荐指数
4
解决办法
4万
查看次数

Javascript 计算对象数组中对象属性的唯一值

当我有一个对象数组时,如何计算对象属性的唯一值?

let organisations = [
  {
    "id": 1,
    "name": "nameOne",
  },
  {
    "id": 2,
    "name": "nameTwo",
  },
  {
    "id": 3,
    "name": "nameOne",
  }
]
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如何计算唯一组织名称的数量。这里的答案是两个,因为有两个唯一的名称。

这不起作用

 var counts = this.filteredExtendedDeals.reduce(
        (organisations, name) => {
          counts[name] = (counts[name] || 0) + 1;
          return counts;
        },
        {}
      );
      return Object.keys(counts);
Run Code Online (Sandbox Code Playgroud)

javascript

-2
推荐指数
1
解决办法
2427
查看次数

标签 统计

javascript ×3

arrays ×1

underscore.js ×1

unique ×1