2016-09-21 48 views
1

如何檢查數組中是否至少有一個元素? (我想驗證一下這個數組是不是空的)如何檢查多維數組中是否至少有一個元素? (傻基本Javascript問題)

對不起這個愚蠢的問題,我已經在Google上花了太多時間...(Google只會返回複雜的情況和解決方案,看起來我的問題也是如此簡單。)。

編輯:好的,但會發生什麼樣的數組像[,, [] ,, [] ,,,]?爲了我的目的,它應該被認爲是空的。

編輯2:對不起,夥計們,爲了混淆!起初,我甚至不知道我在找什麼。謝謝你們!

+0

使用數組長度屬性。如果它大於0,它有一個元素 –

+3

[檢查數組是否爲空或存在]的可能重複(http://stackoverflow.com/questions/11743392/check-if-array-is-empty-or-exists) – user2005218

+0

'array.length> 0 && array [0] .length> 0'(爲你所有的維數重複) – Bergi

回答

1

這將滿足您的新的要求:

function isEmpty(arr) { 
    if (!Array.isArray(arr)) { 
     return false; 
    } 

    return arr.every(isEmpty); 
} 

它的作用:與Array.prototype.every幫助它會檢查每一個項目左邊是一個空陣列。陣列孔自動跳過.every()

參考文獻:

+0

這隻適用於第二維,對吧?關於如何達到第三,第四或第五維的任何線索? – Emilio

+0

@Emilio它是遞歸的,可以在任何深度下工作。 'isEmpty([,,, [[],[] ,,,, [[[]]]] ,,,])// true' – zerkms

-1

你也可以在這裏使用真實性。這可以幫助您同時檢查未定義的內容。 []是falsy,所以你可以這樣做:

var arr = []; 

if(!arr) { 
    ... arr is undefined or empty array 
} else { 
    ... arr has at least one value 
} 
+0

錯誤,'[]'是truthy。在您的瀏覽器控制檯中試用。 – qxz

+0

這是不正確的。'[]'是真的,'[1]'也是 – dmonad

+0

奇數:[] == true是false –

相關問題