下面是我正在做的例子:
var size = new Array("S", "M", "L", "XL", "XXL");
var color = new Array("Red", "Blue", "Green", "White", "Black");
var options = new Array( size, color);
我正在做一个循环选择表单元素,效果很好,但我想要获取数组的子级名称,在本例中-大小或颜色。当我执行alert(选项)时,我得到了数组的所有元素。但是对于某些特定的情况,我只想获得数组的名称,就像我已经说过的那样,它是size/color。有没有办法做到这一点?
发布于 2012-03-26 20:04:43
我会像这样创建一个对象:
var options = {
size: ["S", "M", "L", "XL", "XXL"],
color: ["Red", "Blue", "Green", "White", "Black"]
};
alert(Object.keys(options));
要单独访问密钥,请执行以下操作:
for (var key in options) {
alert(key);
}
附注:当你创建一个新的数组对象时,不要使用new Array
,而要使用[]
。
发布于 2012-03-26 20:25:08
您可以使用key
值,如下所示:
var size = new Array("S", "M", "L", "XL", "XXL");
var color = new Array("Red", "Blue", "Green", "White", "Black");
var options = new Array(size, color);
var len = options.length;
for(var i = 0; i<len; i++)
{
for(var key in options[i])
{
alert(options[i][key])
}
}
发布于 2012-03-26 19:58:50
无法知道options
数组的两个成员是否来自名为size
和color
的变量。
它们也不一定是专门调用的,任何变量也可以指向那个数组。
var notSize = size;
console.log(options[0]); // It is `size` or `notSize`?
你可以做的一件事就是在那里使用一个对象。
var options = {
size: size,
color: color
}
然后,您可以访问options.size
或options.color
。
https://stackoverflow.com/questions/9871634
复制相似问题