首页 > web前端 > js教程 > 如何从 JavaScript 中的对象数组中提取唯一年龄?

如何从 JavaScript 中的对象数组中提取唯一年龄?

Mary-Kate Olsen
发布: 2024-12-22 01:56:12
原创
342 人浏览过

How to Extract Unique Ages from an Array of Objects in JavaScript?

从 JavaScript 中的对象数组中提取不同的值

考虑一个对象数组,其中每个对象代表一个具有姓名和年龄的个体:

var array = [
    { "name": "Joe", "age": 17 },
    { "name": "Bob", "age": 17 },
    { "name": "Carl", "age": 35 }
];
登录后复制

任务是从该数组中提取不同的年龄,从而产生一个具有唯一的新数组值:

[17, 35]
登录后复制

JavaScript 特定解决方案(ES6 及更高版本)

ES6 引入了 Set 数据结构,它自动维护唯一值的集合。这可用于有效地提取不同的年龄:

const distinctAges = [...new Set(array.map(object => object.age))];
登录后复制

此方法创建一个新数组,其中仅包含原始数组中每个对象的年龄属性中存在的唯一值。

替代数据结构

如果性能至关重要,您可以考虑替代数据结构,例如地图或object:

const ageMap = {};
array.forEach(object => {
  ageMap[object.age] = true;
});

const distinctAges = Object.keys(ageMap).map(Number);
登录后复制

在这种情况下,年龄值作为键存储在对象(地图)中。 Object.keys() 方法以数组形式检索唯一键(年龄值),然后使用 map(Number) 将其转换为数值。

改进的方法

初始迭代方法可以通过使用includes()方法检查重复值来改进问题中提出的问题:

var distinct = [];
for (var i = 0; i < array.length; i++) {
  if (!distinct.includes(array[i].age)) {
    distinct.push(array[i].age);
  }
}
登录后复制

此优化通过避免多个值来减少所需的比较次数检查重复的年龄。

以上是如何从 JavaScript 中的对象数组中提取唯一年龄?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板