2013-07-19 45 views
0

我想写一个简单的例子,它将计算消息。 非常重要:我需要检查,如果数组为空或不使用索引,像这样(main_arr [0]):如何通过索引检查数组

<body> 

<input type="button" id="btn1" name="click" value="click"/> 
<script type="text/javascript"> 
$(document).ready(function() { 
var main_arr ; 

$("#btn1").click(function() { 
if (main_arr[0] == null) { 
    main_arr = []; 
    alert("Array was initialized!"); 

} else { 
    main_arr.push("message"); 
    alert("In array " + main_arr.length + " messages!"); 
} 

}); 


}); 
</script> 

</body> 

如何检查是否main_arr [0]具有价值?

+1

当你定义它时,你有没有理由不能初始化变量? 'var main_arr = [];'。然后,您不必在点击处理程序中进行检查。 –

回答

1

尝试

是 'main_arr' 定义?

if (typeof main_arr != "undefined") 
{ 
} 

'main_arr'是否有任何元素?

if (main_arr.length > 0) 
{ 
} 

所以,你的代码变得

$(document).ready(function() 
{ 
    var main_arr; 

    $("#btn1").click(function() 
    { 
     if (typeof main_arr == 'undefined') 
     { 
      main_arr = []; 
     } 

     if (main_arr.length > 0) 
     { 
      // It has elements. Time to check for the '0th' element 
     } 
     else 
     { 
      // No elements. Push one. 
      main_arr.push('message'); 
     } 

    }); 
}); 

希望这有助于。

-1

试试这个:

if (main_arr.length == 0) { 
+0

非常重要!我需要按索引检查!这是我的任务要求! – titans

+1

如果main_arr未定义,这仍然会崩溃 –

+0

为什么使用索引? –

0

使用

if (typeof main_arr == 'undefined') { 
    init 
}