js 把对象按照属性名的字母顺序进行排列

Posted 暗恋桃埖源

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 把对象按照属性名的字母顺序进行排列相关的知识,希望对你有一定的参考价值。

var obj = {name: "zhangsan", age: 8, ace: 5, nbme: "lisi"};//要排序的对象
function objKeySort(obj) {//排序的函数
    var newkey = Object.keys(obj).sort();
  //先用Object内置类的keys方法获取要排序对象的属性名,再利用Array原型上的sort方法对获取的属性名进行排序,newkey是一个数组
    var newObj = {};//创建一个新的对象,用于存放排好序的键值对
    for (var i = 0; i < newkey.length; i++) {//遍历newkey数组
        newObj[newkey[i]] = obj[newkey[i]];//向新创建的对象中按照排好的顺序依次增加键值对
    }
    return newObj;//返回排好序的新对象
}

objKeySort(obj) ;  //函数执行
Object {ace: 5, age: 8, name: "zhangsan", nbme: "lisi"};// 执行结果

 

如果要倒序排列,只需把newkey这个数组中的每一项进行颠倒即可,即 var newkey = Object.keys(obj).sort().reverse(); 

objKeySort(obj) ;  //函数执行
Object {nbme: "lisi", name: "zhangsan", age: 8, ace: 5};// 执行结果

 

以上是关于js 把对象按照属性名的字母顺序进行排列的主要内容,如果未能解决你的问题,请参考以下文章

在datatable中能把某字段按照首字母拼音顺序排列么?

excel中怎么将英文单词按字母顺序排序?

js获取对象的最后一个

js 判断一个对象是否是空对象

C语言中输入一串字符,怎样让它按照字母从小到大的顺序排列?

XML 反序列化忽略不按字母顺序排列的属性