简体   繁体   English

JavaScript - 按值排序对象但返回键

[英]JavaScript - Sort objects by value but return key

I have an Object like this:我有一个像这样的 Object:

object = {A: 15, B: 30, C: 22}

So I'm sorting it using its values.所以我使用它的值对它进行排序。 For that, I have this function:为此,我有这个 function:

 object = { A: 15, B: 30, C: 22 } function sortObjsValues(obj) { return Object.values(obj).sort((a, b) => { if (a > b) { return -1; } else if (a < b) { return 1; } else { return 0; } }); } console.log(sortObjsValues(object)); // => returns 30,22,15

Is there a way to return its keys instead of its values, keeping sorting by its values?有没有办法返回它的键而不是它的值,保持按它的值排序? The final result would be B,C,A最终结果将是B,C,A

You could get entries from the object, sort by value descending and map the keys.您可以从 object 获取条目,按值降序排序,map 键。

 const object = { A: 15, B: 30, C: 22 }, getSortedKeys = o => Object.entries(o).sort((a, b) => b[1] - a[1]).map(([k]) => k); console.log(getSortedKeys(object));

Just sort the keys by the value.只需按值对键进行排序。

 const object = { A: 15, B: 30, C: 22 }; console.log(Object.keys(object).sort((a, b) => object[b] - object[a]));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM