suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - 如何顺序读取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}的情况下,我如果能够顺序的读取其中的属性?

伊谢尔伦伊谢尔伦2897 Tage vor718

Antworte allen(4)Ich werde antworten

  • 伊谢尔伦

    伊谢尔伦2017-04-10 13:11:02

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

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

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

    Antwort
    0
  • 黄舟

    黄舟2017-04-10 13:11:02

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

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

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

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

    Antwort
    0
  • 天蓬老师

    天蓬老师2017-04-10 13:11:02

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

    var keys = Object.keys(triangle);
    

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

    Antwort
    0
  • PHP中文网

    PHP中文网2017-04-10 13:11:02

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

    Antwort
    0
  • StornierenAntwort