我有一个Web服务,它返回一个JSON编码的数据数组.然后我使用jQuery的.each()函数来遍历该数组,但是在Firefox中它会向下迭代,而在Chrome中它会迭代.
从Web服务返回的数据是:
{
"data": {
"610": {
"id": "610",
"url": "a url 1",
"description": "XXX YYY",
"toc": "0000-01-00",
"active": "1"
},
"608": {
"id": "608",
"url": "a url 1",
"description": "ytttgffrr",
"toc": "0000-01-00",
"active": "1"
},
"607": {
"id": "607",
"url": "a url 3",
"description": "rtretert3",
"toc": "0000-01-00",
"active": "1"
},
"606": {
"id": "606",
"url": "a url 4",
"description": "xxxwwww",
"toc": "0000-01-00",
"active": "1"
},
...
}
}
Run Code Online (Sandbox Code Playgroud)
Firefox进入610 - > 606,而Chrome则为606 - > 610.
任何想法为什么以及我能做些什么呢?
对象中的属性没有固有的顺序.ECMAScript规范不保证for…in语句将按字母顺序通过其属性遍历对象.在物体上jQuery.each使用时for…in在引擎盖下使用.
如果订单对您很重要,请使用数组而不是对象.
| 归档时间: |
|
| 查看次数: |
4649 次 |
| 最近记录: |