首页 > 如何顺序读取JSON中的数据?

如何顺序读取JSON中的数据?

var triangle = {a:1, b:2, c:3};
for (var x in triangle) {
    console.log(x)
}

这样的话,我是不是没法保证每次输出都是:

a
b
c

在不修改triangle = {a:1, b:2, c:3}的情况下,我如果能够顺序的读取其中的属性?


这篇文章有详细介绍:SJ9011: Chrome Opera 中 for-in 语句遍历出对象属性的顺序与定义的不同

文章最后给出了解决方案:

for-in 语句无法保证遍历顺序,应尽量避免编写依赖对象属性顺序的代码。如果想顺序遍历一组数据,请使用数组并使用 for 语句遍历。 如果想按照定义的次序遍历对象属性,请参考本文针对各浏览器编写特殊代码


Jquery的each方法可以实现这样要求。


名言:“ASSUME = ASS U & ME”。

即,永远不要把你的程序建立在任何的假设上。假设就是把你和我都当成了ASS。

字典是一种有对应无顺序的结构。如果你希望输出依赖顺序,就不要用无序的数据结构。

取出所有的索引(key)组成一个数组,将这个数组明确的按字母序排序。然后foreach遍历这个数组,就可以按索引的字典顺序,逐个读取记录值了。


先把所有 key 取出来,比如用 Object.keys()

var keys = Object.keys(triangle);

然后再把 keys 数组排序,然后再遍历这个数组。

【热门文章】
【热门文章】