码迷,mamicode.com
首页 > 编程语言 > 详细

按键排序JavaScript对象

时间:2017-09-02 15:47:29      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:属性   迭代   asd   console   key   检索   ++   按键   str   

问题描述

我需要按键排序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);

 

按键排序JavaScript对象

标签:属性   迭代   asd   console   key   检索   ++   按键   str   

原文地址:http://www.cnblogs.com/yzhihao/p/7466619.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!