Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 显示数组元素_Javascript_Jquery - Fatal编程技术网

Javascript 显示数组元素

Javascript 显示数组元素,javascript,jquery,Javascript,Jquery,我以以下方式创建JavaScript数组: var selectedColors= { 'Orange' : $("#Orange").val(), 'Light Blue' : $("#LightBlue").val(), 'Dark Red' : $("#DarkRed").val(), 'Dark Blue' : $("#DarkBlue")

我以以下方式创建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;

非常感谢您的帮助。

对象和数组将在jQuery中进行相同的迭代。您似乎需要使用大括号来检查return false语句:

if (colorsNotSelected.length > 0) {
    $.each(colorsNotSelected, function (key) { alert(key) });
    return false;
}
这是不必要的:

colorsNotSelected.push({key:key});
只要这样做:

colorsNotSelected.push(key);
这也是假设在示例代码上方的某个地方,您有:

var colorsNotSelected = [];

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

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

这是一个Javascript对象,而不是Javascript数组。仅供参考。颜色未选择在哪里定义@KevinB小姐类型:添加到上面。selectedColors是一个JS对象,但为什么这会限制我访问另一个数组元素?如果要在循环中为…使用
,请使用
If(colorsNotSelected.hasOwnProperty(i))
检查以避免遍历对象的本机/固有属性。仍然看不到颜色名称。将显示0,1,2,3。此外,还有var colorsNotSelected=[];在我的代码中