簡體   English   中英

對象數組不按屬性排序

[英]Array of objects does not sort by property

我正在嘗試按屬性對一組對象進行排序。 我無法找出我犯錯的地方,但它根本沒有對其進行排序。 請你幫助我好嗎 。 在這里檢查我的沙箱: https : //codesandbox.io/s/pedantic-villani-361wh

 const data = [{ key: 33049999926180, sn: 33049999926180 }, { key: 33050000960170, sn: 33050000960170 }, { key: 33050001827158, sn: 33050001827158 }, { key: 33050002745147, sn: 33050002745147 }, { key: 33052513640473, sn: 33052513640473 } ]; const handleClick = (data) => { let temp = data; temp.sort((a, b) => (a.sn < b.sn ? -1 : a.sn > b.sn ? 1 : 0)); console.log(temp); // check console }; handleClick(data)

您應該使用-而不是<原因記錄在MDN 上

為了比較數字而不是字符串,比較函數可以簡單地從 a 中減去 b

這應該足夠了:

const data = [
  {
    key: 33049999926180,
    sn: 33049999926180
  },
  {
    key: 33050000960170,
    sn: 33050000960170
  },
  {
    key: 33050001827158,
    sn: 33050001827158
  },
  {
    key: 33050002745147,
    sn: 33050002745147
  },
  {
    key: 33052513640473,
    sn: 33052513640473
  }
];

const handleClick = data => [...data].sort((a, b) => b.sn - a.sn);
const sortedData = handleClick(data);
console.log(sortedData);

暫無
暫無

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

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