2013-07-19 129 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 
}