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



假设我们有一个名为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线程中的人总是将答案标记为重复,即使他们不是

你可以这样做;

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);

最新更新