- 无意间获取大一组城市的数据 数据本身是一个对象 但是key是由A~Z的字母组成的 但是呢 字母的顺序是错乱的 所以数据无法直接渲染 需要根据对象的属性对对象进行排序,于是有了这次的果,话不多说 上代码
// 这是我获取到的数据的大概类型 因为数据太多 不做全部的演示了
var citys = {
"E": [ {"name": "厄瓜多尔"}],
"A": [ {"name": "安阳"}],
"R": [ {"name": "日照"}]
}
// 接下来是排序的代码
第一种办法
var obj = {}
var arr = []
for(let key in citys) {
arr.push(key) // 集合所有的key
}
arr.sort() // 字母排序
arr.forEach(item => {
obj[item] = citys[item]
})
console.log(obj) =>
{
"A": [ {"name": "安阳"}],
"E": [ {"name": "厄瓜多尔"}],
"R": [ {"name": "日照"}]
}
第二种解决办法是采用es6的keys方法获取对象的key
var obj = {}
Object.keys(citys).sort().map(item => {
obj[item] = citys[item]
})
以上是两种解决办法,如有其它方法,感谢分享