簡體   English   中英

如何按數字鍵值對對象進行排序

[英]How to sort object by numeric key value

我有一個看起來像這樣的對象:

a = {10: 961, 11: 1418, 12: 1526, 13: 1652, 14: 1482, 15: 1581, 16: 1594, 17: 1201, 18: 816, 19: 994, 20: 455, 21: 910, 22: 1181, 23: 713, 00: 296, 01: 144, 02: 100, 03: 56, 04: 22}

如何重新排列條目的順序,使其看起來像

b = {00: 296, 01: 144, 02: 100, 03: 56, 04: 22, ...}

不確定這是否相關,但我從更大的 JSON 對象派生此對象,並且需要對其進行排序以在圖表上顯示數據。

對象的屬性首先按整數值排序,然后按字符串鍵按它們添加到對象的順序排序。 因此,可以通過從您的對象創建一個新對象來對屬性進行排序。

a = {10: 961, 11: 1418, 12: 1526, 13: 1652, 14: 1482, 15: 1581, 16: 1594, 17: 1201, 18: 816, 19: 994, 20: 455, 21: 910, 22: 1181, 23: 713, 00: 296, 01: 144, 02: 100, 03: 56, 04: 22};

b = {};
Object.keys(a).sort((a,b) => { return parseInt(a) - parseInt(b);}).forEach((x) => {
b[x] = a[x];});
console.log(b)

暫無
暫無

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

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