如何通过键对对象数组进行排序,然后将另一个键按排序顺序推送到新数组?

时间:2018-05-29 14:26:43

标签: javascript

假设我们有一个名为result的对象数组:

{ "name": "C:\\file.json", "relevance": 0.5 }

{ "name": "C:\\folder", "relevance": 0.5454545454545454 }

{ "name": "C:\\file_1.txt", "relevance": 0.1 }

我们如何按relevance键对其进行排序,并按排序顺序将name值推送到新数组中,以便我们得到以下arr

["C:\\folder", "C:\\file.json", "C:\\file_1.txt"]

更新

重复!我不知道为什么js线程中的人总是将答案标记为重复,即使它们非常不是

1 个答案:

答案 0 :(得分:3)

你可以这样做;



var result = [ { "name": "C:\\file.json", "relevance": 0.5 }, { "name": "C:\\folder", "relevance": 0.5454545454545454 }, { "name": "C:\\file_1.txt", "relevance": 0.1 } ]
var newArray = result.sort((a, b) => parseFloat(b.relevance) - parseFloat(a.relevance)).map(item => item.name);
console.log(newArray);