小编dam*_*ypo的帖子

从阵列中获取唯一值的最快方法?

我有这样的数组

students = [{name: 'Abbey', age: 25}, {name: 'Brian', age: 45},
            {name: 'Colin', age: 25}, {name: 'Dan', age: 78}]
Run Code Online (Sandbox Code Playgroud)

我想要输出;

uniqueAges = [45, 78]
Run Code Online (Sandbox Code Playgroud)

要明确的是,如果学生数组中出现多次出现的年龄值,我不希望在uniqueAges数组中有任何具有该年龄的对象.'Abbey'和'Colin'的年龄相同,所以他们出去了.

我知道我可以做这样的事情然后跑 uniqueAgeGetter(students)

   function uniqueAgeGetter(list){
   var listCopy = list.slice();
   var uniqueAges = list.slice();
   for (var i = list.length - 1; i >= 0; i--) {
        for (var j = listCopy.length - 1; j >= 0; j--) {
            if(listCopy[j].name !== list[i].name && 
                listCopy[j].age == list[i].age){
                  uniqueAges.splice(i, 1)
                }   
            }
    }
   console.log(uniqueAges)
   return uniqueAges …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm time-complexity node.js

6
推荐指数
2
解决办法
1136
查看次数

标签 统计

algorithm ×1

javascript ×1

node.js ×1

time-complexity ×1