苦逼前端

Javascript中对象的有序无序问题

Javascript2014-02-24 11:35

前些天看到一个奇怪的现象:有的同学,想得到一个有序的数据集合,但是后台GG却给了他一个json的结构,并且他们还成功的完成了这个功能...

当时我就范嘀咕,差点三观尽毁。难道js中的对象是有序的?我怎么一直记得是无序的啊。然后赶紧做了个呆猫试试:

吓!?果然是有序的吗...有点不甘心,一口气写了几十个,a-z写完了,发现依然是按先后次序输出的...不仅如此,后插入的,也会最后输出:

有点崩溃了,转而求助于python:


发现,我大python还是很有节操的没有按序输出..

但是上面的结果能够说明js中对象是有序的吗?我们只用了字母作为key,是不是有点特殊呢?何不再来几发更特殊的呢,比如数字啥的:

这结果,真是劲爆啊,输出顺序竟然是 数字>*>字母,并且数字还会按照大小顺序升序排序,但是字母却不排序...

我大js果然是如同脱缰的野马,让人捉摸不透啊...至于输出顺序为什么会是这样先不说,最起码可以证明javascript的对象是无序的了吧。

用的时候要小心呦,有序的话,还是用数组吧,虽然只能用默认下标,起码可靠嘛...

评论(1)
  • 邢文亮: 详细解释:http://w3help.org/zh-cn/causes/SJ90115年3个月前
还可输入200个字