im给定一个对象数组。这些对象包含属性name和age。我必须返回一个对象名称数组,该对象名称按对象的年龄从最小到最大排序。
sortArray([{name:'bob', age:96}, {name:'tom', age:24}, {name:'tim', age:65}])
应该只返回['tom','tim','bob']
答案 0 :(得分:0)
您需要对该数组进行排序,然后使用函数map
提取排序后的名称。
这种方法不会变异原始数组。
let sortArray = (arr) => arr.slice().sort((a, b) => a.age - b.age).map(({name}) => name);
console.log(sortArray([{name:'bob', age:96}, {name:'tom', age:24}, {name:'tim', age:65}]));