繁体   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