将一个对象中的键值对按ASCII码升序排列,并且组合成一个字符串

2020-10-21  本文已影响0人  变量只提升声明不提升赋值

sort 方法

返回一个元素已经进行了排序的 Array 对象。

arrayobj.sort(sortfunction)

参数

arrayObj

必选项。任意 Array 对象。

sortFunction

可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。

let obj = {
    a:5,
    d:88,
    bcw:65,
    f:'blc',
    dcc:865
}
let sobj = {}
var str = ''
Object.keys(obj).sort().forEach(d=>{
    sobj[d] = obj[d]
})

首先通过Object.keys()方法获取到这个对象里的所有key,并且返回一个新的由key组成的数组
然后用这个数组去调用sort排序就会得到一个按ASCLL码排序的数组
接着去遍历这个数组,将原数组中的所有value,按排序之后的key的顺序,添加到一个新的对象身上---------------------

注:obj[xxx]==obj.xxx 当对象的某个属性名不确定的时候,通常可以以这种形式去获取value

这样我们就得到了一个排序过的对象


image.png

最后通过for in 方法去遍历这个对象,将他里面所有的键值对拼成一个字符串

for(let key in sobj){
    str+=key+sobj[key]
}
console.log(str)
image.png

最终结果如下,完成!!!!

上一篇 下一篇

猜你喜欢

热点阅读