我有一些if語句,我想驗證數組的長度。比方說,它是這樣的:如何驗證數組是否存在以及它的長度在最少的步驟?
if (object.someArray.length > 1){
doSomething()
}
然而,當的someArray沒有定義(也許它不是爲某個對象,這是可能的定義),我得到一個錯誤:
Cannot read property 'length' of null
這使得意義,因爲object.someArray
未定義。
我的問題是:什麼是最好的方式來驗證數組存在及其長度,以最少的步驟?
謝謝!
方法對於例如'var object = {someArray:{length:2}};'即使上述條件解析爲'true'。 –
@PeterSeliger這被稱爲鴨子打字,這是大多數圖書館做的:) – Walfrat
我知道鴨子打字。但即使你最有可能對你的方法是正確的,OP應該意識到這種情況,明確何時確保某種類型,何時處理它更慷慨。對於給定的示例,數組有時只能被分配/定義,有時不可以。在這種情況下,我不會賭一個長度屬性爲'Array'的對象,因此會傾向於鴨類型的檢測(順便說一句,後者也是我的首選通用方法)。 –