zoukankan      html  css  js  c++  java
  • 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};// 执行结果
  • 相关阅读:
    day 06小结
    day 05小结
    day 05作业
    day 04作业
    day 03作业
    今日小结
    day 02小结
    hdu 4608 I-number(13多校#1 ,1009)
    zoj 2316 Matrix Multiplication(D)
    zoj 2316 Matrix Multiplication(2-D)
  • 原文地址:https://www.cnblogs.com/taohuaya/p/10048933.html
Copyright © 2011-2022 走看看