簡體   English   中英

如何根據數組總和對對象進行排序? 反應.js

[英]How to sort objects based on their array sum ? React.js

所以我有 data.js,我在其中存儲了我的 JSON ......它看起來像這樣:

[
    {
        name: 'Adam Doe',
        city: 'New York',
        mark: [8,10,10,10]
    },
    {
        name: 'Catlyn Stronk',
        city: 'Las Vegas',
        mark: [2,2,2,2,2,3,3,3,4]
    },
    {
        name: 'Anna Doe',
        
        city: 'Michigan',
        mark: [10,8,8,4,3,2]
    }
]

我怎樣才能制作一個數組並將得分最高的人放在首位? 因此,由於 Adam Doe 將獲得 9.5 的最高分,他應該是名單上的第一名,依此類推……我在 React.js 工作

您可以創建一個avg function,然后根據該平均值對數組進行sort

 const people = [ { name: 'Adam Doe', city: 'New York', mark: [8,10,10,10] }, { name: 'Catlyn Stronk', city: 'Las Vegas', mark: [2,2,2,2,2,3,3,3,4] }, { name: 'Anna Doe', city: 'Michigan', mark: [10,8,8,4,3,2] } ] const avg = (arr) => arr.reduce((acc, el) => acc + el, 0) / arr.length; people.sort((a, b) => avg(b.mark) - avg(a.mark)); console.log(people);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM