javascript - IE9 关联数组

标签 javascript internet-explorer-9

Fruit={4:"apple",2:"banana",3:"graps"}; 
var k;
for(k in Fruit)
{alert(k);}

alert 将在 Ie9 中依次为 2 3 4 而在 IE8 & FF 和其他浏览器中给出 4 2 3 帮助我解决这个问题。我需要的序列是 4 2 3

最佳答案

在 JavaScript 中,您无法控制键从对象中出来的顺序。如果您关心顺序,请将键放在一个单独的数组中:

var fruit = { 4:"apple", 2:"banana", 3:"grapes" };
var fruitKeys = [ 4, 2, 3 ]
for (var i=0, l=fruitKeys.length; i<l; ++i) {
  var k = fruitKeys[i];
  alert(k + ":" + fruit[k]);
}

(作为一种风格,您也不应该将变量名称大写;仅将大写字母用于您用作构造函数/“类”的函数)。

fiddle

关于javascript - IE9 关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10296817/

相关文章:

javascript - Vue.js - 向存储中的对象添加或设置新数据

javascript - 在循环内运行 ContactsApp.getContact(email) 会导致超时

css - Box-shadow CSS 样式在 IE9 中不起作用?

html - 需要有关 Internet Explorer 9 显示问题的帮助

css - ie9 和更少拉伸(stretch)绝对输入字段错误

IE9 上的 CSS : divs inside td elements in a table will display vertically

javascript - 对话框关闭两次

javascript - 如何在单击 HTML 表格内的下 zipper 接时动态调用页面?

javascript - ko.mapping(更新数组问题)

internet-explorer-9 - Xpages 提前输入功能在 Internet Explorer 9 中不起作用