代码之家  ›  专栏  ›  技术社区  ›  Un1

如何按键对对象数组排序,然后按排序顺序将另一个键推送到新数组中?[副本]

  •  -2
  • Un1  · 技术社区  · 6 年前

    这个问题已经有了答案:

    假设我们有一个对象数组 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 回复  |  直到 6 年前
        1
  •  3
  •   Emre Kabaoglu    6 年前

    你可以这样做;

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