zoukankan      html  css  js  c++  java
  • 按键排序JavaScript对象

    问题描述

    我需要按键排序JavaScript对象。

    因此如下:

    { 'b' : 'asdsad', 'c' : 'masdas', 'a' : 'dsfdsfsdf' }
    

    会成为:

    { 'a' : 'dsfdsfsdf', 'b' : 'asdsad', 'c' : 'masdas' }
    

    最佳解决方案

    方法一 如果要迭代对象的属性,可以对键进行排序,然后检索关联的值:

    var myObj = {
    'b': 'asdsadfd',
    'c': 'masdasaf',
    'a': 'dsfdsfsdf'
    },
    keys = [],
    k, i, len;
    var newObj={};

    for (k in myObj) {
    if (myObj.hasOwnProperty(k)) {
    keys.push(k);
    }
    }

    keys.sort();

    len = keys.length;

    for (i = 0; i < len; i++) {
    k = keys[i];
    newObj[k]=myObj[k];
    }

    console.log( myObj );console.log(newObj);

     


    方法二  使用Object.keys的替代实现:

    var myObj = {
        'b': 'asdsadfd',
        'c': 'masdasaf',
        'a': 'dsfdsfsdf'
      },
      keys = Object.keys(myObj),
      i, len = keys.length;
    
    keys.sort();
    
    for (i = 0; i < len; i++) {
      k = keys[i];
      newObj[k]=myObj[k];
    }
    console.log(keys);
    console.log( myObj );
    console.log(newObj);
    
    
  • 相关阅读:
    FTP 协议和 HTTP 协议的比较
    HttpURLConnection的post请求,什么时候发出,writeData存在什么地方
    装饰器
    函数参数以及名称空间作用域
    函数的调用
    函数的返回值
    定义函数的三种方式
    函数
    day05
    day04
  • 原文地址:https://www.cnblogs.com/yzhihao/p/7466619.html
Copyright © 2011-2022 走看看