如何让对象按照Key值来排序

在开发即席查询的树状展示机型的时候,需要将制造商按照a-z的顺序排序。经过百度后,总计而出一个方法,仅供参考。

var keysArr = Object.keys(listData.fTypeListData).sort();
var sortObj = {};
for(var i=0;i<keysArr.length;i++){
     var key = keysArr[i];
     sortObj[key] = listData.fTypeListData[key];
}

其中需要注意的是,keys()方法。keys()是Object的方法,需用Object调用,并将需要获取key值的对象传入,keys方法将返回一个包含所有keys的数组,将数组排序。

sort()方法,为数组的方法。不传参则按照引擎的排序算法进行排序(如果字符串第一个相同,则比较第二个,类推。这一点很实用!),可以传入一个方法:

sort(function(a,b){
  return a-b;      //a-b,升序。b-a,降序。
})

(ps:a表示数组前一个数,b表示数组后一个数,如果a>b,a-b大于0,a放在b前面,因此升序)

相关推荐