我刚刚意识到我的整体网络应用程序出现故障,并且它正在重新排序我的对象/数组。当键是数字时用于键/值对的循环
我正在通过AJAX检索关联数组(对象)。我可以在返回时检查它的结构,它是正确的。例如:
48 => Value1
50 => Value2
49 => Value3
51 => Value4
但是,当我循环它时,for循环将对象重新排序。这是因为assoc键是数字的。它们代表数据库中的数字ID。我不知道JavaScript会扼杀它们,并尝试将它们转换为数字顺序的基本数组键。因此,它吐出为:
48 => Value1
49 => Value3
50 => Value2
51 => Value4
如何循环通过对象的顺序,我建立它?我是否必须使用字符串作为键来构建对象?像“ID22”替换22.或者有什么方法来强制JavaScript以特定的顺序循环?
谢谢! Matt
我通常使用[“_”+ i],所以我防止任何混淆。再加上在某些语言(php ??)添加索引49,然后51将自动喂食索引50,我并不高兴...另外,正如在SOVERflow中多次提到的那样,关联数组在技术上并不合适在JavaScript中。如果我正确记得,应该使用对象和属性。 – Sebas 2013-03-06 20:46:59
可能重复[元素顺序在“for(... in ...)”循环](http://stackoverflow.com/questions/280713/elements-order-in-a-for-in-loop) – Aaron 2013-03-06 20:50:34
谢谢,Sebas 。实际上,这些是物体。我只知道对象是JavaScript对关联数组(ala语言如php)的回答,所以我将它称为parens中的“object”。:-) – Mattaton 2013-03-06 21:04:21