JS 对象属性名排序

问题,对象属性名排序,如:

var data = { A:[], D:[], B:{} }

调整为=》

var data = { A:[], B:[], D:{} }

方法一:

for,in,把fieldname保存到一个数组中,sort,然后根据sort顺序把原对象的值保存到新对象中

var arr=[];
for(var key in data){
    arr.push(key)
}
arr = arr.sort()
var newData={}
for(var i in arr){
    var itemKey = arr[i]
    newData[itemKey] = data[itemKey]
}

方法二-ES6:

var newData = {};
Object.keys(data).sort().map(key => {
  newData[key]=data[key]
})

 

posted @ 2019-10-22 10:45  Robot-Blog  阅读(14715)  评论(3编辑  收藏  举报