【发布时间】:2017-02-15 14:36:20
【问题描述】:
我有一些类似于下面的对象:
EUR: {
name: 'Europe',
countries: {
FR: {
name: 'France',
cities: {}
},
DE: {
name: 'Germany',
cities: {}
},
ES: {
name: 'Spain',
cities: {}
}
}
}
我正在尝试找出一种方法,按国家/地区的字母顺序对国家/地区进行排序,然后是每个国家/地区的名称,例如法国、西班牙、德国。我打算采用的方法是先将其拆分为一个数组并重新构建。
我想知道是否有人有任何我想念的不同方法可以帮助我?
【问题讨论】:
-
您错过了一个(或更多)用于排序的数组。对象实际上没有顺序。
-
如果顺序对您来说真的很重要,请使用数组。 Javascript 对象属性并没有真正的顺序。
-
当您将它们拆分为数组并排序时,您需要保留数组,如果没有其他原因,只能按顺序访问对象。您也可以保留对象结构,但永远不会有任何可靠的排序。
-
是的,
countries应该定义为countries: [ {FR: { name: 'France' ...然后我会使用lodash 进行排序
标签: javascript arrays sorting object