感觉用object实现不容易排序
Javascript 可以创建这样的关联数组(类似字典):
var dict = new Array();
dict["a"] = 100;
dict["b"] = 200;
dict.a; // 100
dict.b; // 200
但是这样子创建出来的 dict
是不会像普通数组那样有 length
属性的(值不变,除非你手工维护),遍历的话可以用 for...in
循环。
说到排序的话,其实普通的对象排序也不是很难。你可以用 for...in
循环(别忘了检查 hasOwnProperty
)把所有的 keys 取出来单独保存一个数组,然后对该数组排序。(如果 ECMAScript5 可用的话,也可以用 Objects.keys()
,非常方便)排序之后用该数组的值作为下标去访问原对象,就实现排序后的对象了。这些过程非常普遍,可以写个 utility 存起来方便调用。