扫码关注官方订阅号
感觉用object实现不容易排序
走同样的路,发现不同的人生
Javascript 可以创建这样的关联数组(类似字典):
var dict = new Array(); dict["a"] = 100; dict["b"] = 200; dict.a; // 100 dict.b; // 200
但是这样子创建出来的 dict 是不会像普通数组那样有 length 属性的(值不变,除非你手工维护),遍历的话可以用 for...in 循环。
dict
length
for...in
说到排序的话,其实普通的对象排序也不是很难。你可以用 for...in 循环(别忘了检查 hasOwnProperty)把所有的 keys 取出来单独保存一个数组,然后对该数组排序。(如果 ECMAScript5 可用的话,也可以用 Objects.keys(),非常方便)排序之后用该数组的值作为下标去访问原对象,就实现排序后的对象了。这些过程非常普遍,可以写个 utility 存起来方便调用。
hasOwnProperty
Objects.keys()
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
Javascript 可以创建这样的关联数组(类似字典):
但是这样子创建出来的
dict
是不会像普通数组那样有length
属性的(值不变,除非你手工维护),遍历的话可以用for...in
循环。说到排序的话,其实普通的对象排序也不是很难。你可以用
for...in
循环(别忘了检查hasOwnProperty
)把所有的 keys 取出来单独保存一个数组,然后对该数组排序。(如果 ECMAScript5 可用的话,也可以用Objects.keys()
,非常方便)排序之后用该数组的值作为下标去访问原对象,就实现排序后的对象了。这些过程非常普遍,可以写个 utility 存起来方便调用。