元素在对象内的位置

时间:2014-03-18 12:00:37

标签: javascript arrays sorting object

我有一个像这样构建的对象(让我们称之为myObject)(如果你控制它.log它)

>Object {info1: Object, info2: Object, info3: Object, info4: Object,…}
      >info1: Object
      >info2: Object
      Id: 532
      someParam: true
      >info3: Object
      >info4: Object
      Id_secondary: 222

如果检查info1,info2(主对象内的对象)的内部,它们的结构与此类似:

Aparameter: "random info"
Cparameter: "something"
LParameter: "other data"
Surname: "Random Surname"
Username: "Name test"

困扰我的是它们按字母顺序排列。

例如,如果我通过这个给定的对象进行迭代,我可以看到info1,info2(主对象内的对象)内的数据不是按字母顺序排序的。 我检查一下:

for (var k in myObject)
    if (typeof myObject[k] !== 'function') {
        if(k == 'info1' || k == 'info2' || k == 'info3' || k == 'info4'){
            for (var j in myObject[k]){
                if (typeof myObject[k][j] !== 'function' && k == 'info1') {
                     console.log("Key is " + j + ", value is " + myObject[k][j]);
                }
            }
            // HERE this objects' data are in correct order !   
            console.log(myObject[k]);  <------------------------- see this
        }
    }       
}

如何在myObject中保留对象内部数据的位置?

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

对象中的键按添加顺序存储。 AFAIK这是为了方便程序员而添加到浏览器中的“非官方”功能,我不建议依赖它。