0%

陣列為空的判斷

在判斷陣列為空時,會出現以下的問題點

在做陣列為空的判斷,可能會有以下的寫法

1
2
3
4
var a = [];
if(a == []) {
console.log('空的');
}

但實際去運作時,卻沒任何反應,這是因為陣列屬於物件的型別
物件的型別在比對時都是比對他們的參考位置
a[] 去比對時,實際上是兩個參考位置是不一樣的,如下面的
a == [] 結果是 false

1
console.log(a == []); //false

所以用 if 判斷結果是 false 自然是不會顯示內容
因此判斷資料長度建議是用 length

1
2
3
4
var a = [];
if(a.length == 0) {
console.log('空的');
}