显示数组元素

时间:2012-11-02 21:19:19

标签: javascript jquery

我正在创建一个JavaScript数组,方法如下:

var selectedColors= { 'Orange' : $("#Orange").val(),
                         'Light Blue' : $("#LightBlue").val(),
                         'Dark Red' : $("#DarkRed").val(),
                         'Dark Blue' : $("#DarkBlue").val()};

然后遍历每个项目以查看未选择哪种颜色,然后将它们存储在另一个数组中:

var colorsNotSelected = [];
$.each(selectedColors, function (key, value) {
    if (value.length == 0)
        colorsNotSelected.push({key:key});
});

这里我想显示未选择的颜色,但是按照以下方式显示按键:0,1,2,3代替橙色,浅蓝色,深红色,深蓝色。

我在这里做错了什么?

if (colorsNotSelected.length > 0)
    $.each(colorsNotSelected, function (key) { alert(key) });
    return false;

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

对象和数组将在jQuery中迭代相同的内容。看来你需要使用大括号来保持返回false语句下的检查:

if (colorsNotSelected.length > 0) {
    $.each(colorsNotSelected, function (key) { alert(key) });
    return false;
}

这是不必要的:

colorsNotSelected.push({key:key});

这样做:

colorsNotSelected.push(key);

这也是假设您的示例代码之上的某处:

var colorsNotSelected = [];

答案 1 :(得分:0)

您可能希望尝试使用for / in循环:

for(var i in colorsNotSelected){
   alert(i);
}