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

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

作者: 变量只提升声明不提升赋值 | 来源:发表于2020-10-21 10:36 被阅读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

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

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/xpysmktx.html