假设我有以下内容:
什么是获取所有不同年龄的数组的最佳方法,以便得到以下结果数组的最佳方式:
有没有其他方法可以更好地结构化数据,而不必迭代每个数组检查“年龄”的值,并检查其是否存在于另一个数组中,如果不存在则添加它?
如果有一种方法可以只提取不同的年龄而不用迭代...
我希望改进当前低效的方法... 如果这意味着“数组”不是对象数组,而是具有某些唯一键(即“1,2,3”)的对象“映射”,那也没关系。我只是寻找最高性能效率的方式。
以下是我目前的做法,但对我来说,迭代似乎效率很低,尽管它确实有效...
var array =
[
{"name":"Joe", "age":17},
{"name":"Bob", "age":17},
{"name":"Carl", "age": 35}
]
什么是获取所有不同年龄的数组的最佳方法,以便得到以下结果数组的最佳方式:
[17, 35]
有没有其他方法可以更好地结构化数据,而不必迭代每个数组检查“年龄”的值,并检查其是否存在于另一个数组中,如果不存在则添加它?
如果有一种方法可以只提取不同的年龄而不用迭代...
我希望改进当前低效的方法... 如果这意味着“数组”不是对象数组,而是具有某些唯一键(即“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)
Set
对象和map
是浪费的。这个任务只需要一个简单的.reduce()
阶段即可。 - Redu