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]));
我有一个这样的对象:
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]));