JavaScript 对象中字段按值排序
JavaScript About 1,134 wordssort
Object.entries(obj).sort()
数值型 value 排序(最常用,如数字、分数等)
变量a、b表示当前对象结构的[key, value]数组和下一个[key, value]数组。
const obj = { a: 30, b: 10, c: 20 };
// 按 value 升序排列(从小到大)
const sortedAsc = Object.entries(obj).sort((a, b) => a[1] - b[1]);
console.log(sortedAsc); // [['b', 10], ['c', 20], ['a', 30]]
// 按 value 降序排列(从大到小)
const sortedDesc = Object.entries(obj).sort((a, b) => b[1] - a[1]);
console.log(sortedDesc); // [['a', 30], ['c', 20], ['b', 10]]
字符串型 value 排序(按字母 / Unicode 顺序)
const obj = { name: "ECharts", type: "chart", version: "6.0" };
// 按 value 字母升序
const sortedStr = Object.entries(obj).sort((a, b) => a[1].localeCompare(b[1]));
console.log(sortedStr); // [['type','chart'], ['name','ECharts'], ['version','6.0']]
复杂对象 value 排序
const obj = {
article1: { pv: 1500, title: "A" },
article2: { pv: 800, title: "B" },
article3: { pv: 2000, title: "C" }
};
// 按 value.pv 降序
const sortedComplex = Object.entries(obj).sort((a, b) => b[1].pv - a[1].pv);
console.log(sortedComplex); // [['article3', {...}], ['article1', {...}], ['article2', {...}]]
注意
sort() 方法会原地修改原数组,如果需要保留原数组,先浅拷贝一份:[...Object.entries(obj)].sort(...)。
Views: 6 · Posted: 2026-05-25
———         Thanks for Reading         ———
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...