求js对象键名根据键值排序,按排序顺序产生新键名数组的高效算法

JavaScript013

求js对象键名根据键值排序,按排序顺序产生新键名数组的高效算法,第1张

const data = { 1001: 1, 1002: 3, 1003: 2, 1004: 2, 1005: 1 }

const keys=Object.keys(data)

keys.sort(function(a, b){

   return data[b]-data[a]})

console.log(keys) [ '1002', '1003', '1004', '1001', '1005' ]

只是js对象的健是字符串,用的时候还要转换一下

const out=keys.map(function(x){return parseInt(x)})

console.log(out) [ 1002, 1003, 1004, 1001, 1005 ]

不用转换,直接用,就可以了。

可以试试

var a ='\u5a92\u5927\u5b66'

alert(a)

document.body.innerHTML=a

不论是alert,还是直接放到innerHTML里,都可以用的,前提是要通过脚本来使用。

我记得好像是说javascript本身就是unicode编码,而这种'\u5a92\u5927\u5b66'形式恰好就是unicode的编码形式,还有形式的呢。