<script>
let arr = {1: "3", 247: "1205", 360: "1582", 414: "0", 709: "512"}
let keysSorted = Object.keys(arr).sort(function(a,b){
return arr[a] - arr[b];
});
console.log("key",keysSorted)
let normalArr = []
for(let key in arr){
normalArr.push(arr[key])
}
let sortArr = normalArr.sort();
console.log("value", sortArr)
</script>
如果全是小于四位数方法是正确的
返回的结果是
["key", "414","1","709","247","360"]
["value", "0","1205","1582","3","512"]
???
sort
方法默认排序按顺序逐个比较字符 ascii 码大小,所以第一个字母 3 的永远会排在 1 的后面,你要添加自定义排序方法。