如果我有一個包含對象ListOfOtherObjects陣列的對象爲MyObject和我寫:JavaScript的測試長度
if (MyObject.ListOfOtherObjects.length !== 0) {...}
測試,看看是否該數組包含OtherObjects,是它一樣寫這:
if (MyObject.ListOfOtherObjects) {...}
感謝。
如果我有一個包含對象ListOfOtherObjects陣列的對象爲MyObject和我寫:JavaScript的測試長度
if (MyObject.ListOfOtherObjects.length !== 0) {...}
測試,看看是否該數組包含OtherObjects,是它一樣寫這:
if (MyObject.ListOfOtherObjects) {...}
感謝。
不,你需要檢查length
屬性。一個Array
總是truthy,像任何其他Object
。
你可以,但是,省略!== 0
顯式檢驗。
if (MyObject.ListOfOtherObjects.length) {...}
這種情況將是true
如果Array
具有至少一個元件。
假設不爲空或未定義。 –
@CalgaryCoder:我不太明白你的意思。 – alex
你的原始回答說MyObject.ListOfOtherObjects作爲數組將永遠是正確的。答案被擴大了,所以忽略。 –
我會做'如果(arr.length> 0){...'。只是'如果(arr.length){...'也會這樣做,但不是那麼清楚...... –
@frenchie:當你爲自己測試時發生了什麼?在做這個測試時,你注意到用if(MyObject.ListOfOtherObjects){',空數組的行爲與非空數組的行爲相同嗎? – RightSaidFred