2011-12-05 60 views
0

我有一個二級數​​組,在代碼中的cetain點可以是ether未定義或包含值。如果它是未定義的,我需要定義它,而不給它任何價值。 這是我做過什麼:定義數組單元格的最佳方式是什麼?

arr[arr2["stripID"]] = typeof(arr[arr2["stripID"]]) === 'undefined' ? [] : arr[arr2["stripID"]]; 

有沒有更好的或者更短的方法?

+0

我真的不明白你想要做什麼。你可以詳細說明你的意圖,也許從表達式中分解出'arr2 [「stripID」],這樣它就變得更清楚了嗎? –

+1

@IlyaD補充說明:arr2是一個(對象)[https://developer.mozilla.org/en/JavaScript/Guide/Working_with_Objects]不是陣列:) – OnesimusUnbound

+0

@FrédéricHamidi我編輯了這個問題。 – ilyo

回答

3
arr[arr2["stripID"]] = arr[arr2["stripID"]] || []; 

應該做你想做的。

||運算符返回表達式中的第一個真值。因爲一個數組是真的,唯一的其他值可能是未定義(錯誤),這將工作正常。

相關問題