ncs*_*ncs 3 sorting jquery opera json google-chrome
var obj = {
'51' : { 'name':'name1'},
'66' : { 'name':'name2'},
'58' : { 'name':'name3'}
};
$(function() {
s = '';
$.each(obj, function(k, v) {
s += ' '+k;
});
alert(s);
});
Run Code Online (Sandbox Code Playgroud)
在IE和Firefox中它是51 66 58,但在Opera和Chrome中它是51 58 66为什么Jquery.each()按照歌曲中的键排序,Chrome?我该怎么做才能保持原生秩序?
ps如果数组键是一个字符串,结果51j 66j 58j也许opera和chrome尝试将键转换为整数,这是可能的
var obj = {
"51j" : { "name":"name1"},
"66j" : { "name":"name2"},
"58j" : { "name":"name3"}
};
Run Code Online (Sandbox Code Playgroud)
JavaScript对象是无序的.当你遍历它们时,无法保证密钥应该出现在哪个顺序,并且JS引擎可以自由地实现他们喜欢的任何存储和检索系统.
如果订单很重要,请使用数组: []
这可以包含对象:
[
{ 'foo' : '1234', 'bar' : '5678' },
{ 'foo' : 'abcd', 'bar' : 'qwer' },
{ 'foo' : 'ldng', 'bar' : 'plma' }
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1318 次 |
| 最近记录: |