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] })