返回对象名称的数组,该对象名称按对象的年龄(从最小到最大)排序

时间:2018-11-01 15:17:04

标签: javascript

im给定一个对象数组。这些对象包含属性name和age。我必须返回一个对象名称数组,该对象名称按对象的年龄从最小到最大排序。

sortArray([{name:'bob', age:96}, {name:'tom', age:24}, {name:'tim', age:65}]) 

应该只返回['tom','tim','bob']

1 个答案:

答案 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}]));