0
我有一個二級數組,在代碼中的cetain點可以是ether未定義或包含值。如果它是未定義的,我需要定義它,而不給它任何價值。 這是我做過什麼:定義數組單元格的最佳方式是什麼?
arr[arr2["stripID"]] = typeof(arr[arr2["stripID"]]) === 'undefined' ? [] : arr[arr2["stripID"]];
有沒有更好的或者更短的方法?
我有一個二級數組,在代碼中的cetain點可以是ether未定義或包含值。如果它是未定義的,我需要定義它,而不給它任何價值。 這是我做過什麼:定義數組單元格的最佳方式是什麼?
arr[arr2["stripID"]] = typeof(arr[arr2["stripID"]]) === 'undefined' ? [] : arr[arr2["stripID"]];
有沒有更好的或者更短的方法?
arr[arr2["stripID"]] = arr[arr2["stripID"]] || [];
應該做你想做的。
||
運算符返回表達式中的第一個真值。因爲一個數組是真的,唯一的其他值可能是未定義(錯誤),這將工作正常。
我真的不明白你想要做什麼。你可以詳細說明你的意圖,也許從表達式中分解出'arr2 [「stripID」],這樣它就變得更清楚了嗎? –
@IlyaD補充說明:arr2是一個(對象)[https://developer.mozilla.org/en/JavaScript/Guide/Working_with_Objects]不是陣列:) – OnesimusUnbound
@FrédéricHamidi我編輯了這個問題。 – ilyo