JavaScript - 按值排序对象但 return 键

JavaScript - Sort objects by value but return key

我有一个这样的对象:

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

所以我正在使用它的值对其进行排序。为此,我有这个功能:

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

有没有办法 return 它的键而不是它的值,并保持按它的值排序?最终结果将是B,C,A

您可以从对象中获取条目,按值降序排序并映射键。

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));

只需按值对键进行排序。

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

console.log(Object.keys(object).sort((a, b) => object[b] - object[a]));