[英]Sort Object by its value and get key as the output in JavaScript
说我有一个像这样的对象:
{A:5, B:3, C:-7, D:0}
我想按asec / desc顺序获取其键的数组:
['C','D','B','A']
实现此目标的最佳方法是什么?
您可以使用Array.prototype.sort
简单地对键进行排序,并使用相应键的值之间的差异进行排序,如下所示
console.log(Object.keys(data).sort(function(a, b) {
return data[a] - data[b];
}));
# [ 'C', 'D', 'B', 'A' ]
要以相反的顺序排序,只需找到b
和a
的值之间的差,像这样
console.log(Object.keys(data).sort(function(a, b) {
return data[b] - data[a];
}));
# [ 'A', 'B', 'D', 'C' ]
使用Object.keys(obj)
给出一个数组,然后您可以按照自己喜欢的顺序对键进行排序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.