比如:
给定学生和成绩:
‘小黑’: 80,
‘小王’: 90,
‘小杨’: 85,
‘小白’: 80
将其按照升序排列输出:
小黑:80
小白:80
小杨:85
小王:90
实现:
方法1:存到一个对象里,对对象的键利用sort排序
let obj = {
'小黑': 80,
'小王': 90,
'小杨': 85,
'小白': 80
}
//得到按键值升序排列的键数组
let keyArr = Object.keys(obj).sort(function(a, b) {
return obj[a] - obj[b]; //升序
});
console.log(keyArr); //[ '小黑', '小白', '小杨', '小王' ]
for (let key of keyArr) { //遍历键数组
console.log(key + ":" + obj[key]);
}
方法2:将多个对象存到一个数组里,对数组利用sort排序
const arr = [ { name: 'z1', score: 90 },
{ name: 'z2', score: 50 },
{ name: 'z3', score: 70 },
{ name: 'z4', score: 90 } ,
{ name: 'z5', score: 89 }]
arr.sort((a, b) => {
return b.score - a.score
})
console.log(arr)
for (let key of arr) { //遍历键数组
console.log(key.name + ":" + key.score);
}