2

这段代码显然在 JavaScript 中不起作用,但我如何在 JS 中做到这一点?

从代码中应该很明显,但我需要分配一个数组键值(在下面的示例中是“a”、“5”和“8”)——不幸的是,我确实需要一个字母,所以 0、1、2等等都不好。

我已经看到了与对象和 'a':'op1' 有关的东西,但它似乎不起作用,并且我收到诸如“意外令牌:”之类的错误 - 我敢打赌,当你知道怎么做时,这很容易?

var options = new Array('a' => 'op1', '5' => 'op2', '8' => 'op3');

for(x in options) {

    var value = options[x];

    alert("the key is " + value[0]);

    alert("the value is " + value[1]);

}

jQuery 或本机 JS,以最好的为准(无论如何我在该页面上使用 jQuery)

4

3 回答 3

3

设置对象:

var options = { 'a' : 'op1', '5' : 'op2', '8' : 'op3' }

在 for-in 循环中,xoptions[x],而不是value[0]value[1]

于 2013-03-05T23:26:40.353 回答
2

它是 JavaScript 对象字面量表示法:

var options = {
"a": "op1",
"5": "op2",
"8": "op3"
};

您还应该知道,键的顺序不能保证,如果您需要特定的顺序,您应该将键保存在一个数组中并以此进行迭代。此外,如果您遍历一个对象,您可能需要确定是访问当前对象的属性还是遍历原型链。

于 2013-03-05T23:28:52.977 回答
1
var options = {'a':'op1', '5':'op2', '8':'op3'};

for (var x in options) {
  alert("the key is " + x);
  alert("the value is " + options[x]);
}
于 2013-03-05T23:29:56.890 回答