首頁 >web前端 >js教程 >如何可靠地檢查 JavaScript 物件和陣列中的鍵是否存在?

如何可靠地檢查 JavaScript 物件和陣列中的鍵是否存在?

Linda Hamilton
Linda Hamilton原創
2024-12-16 09:44:111032瀏覽

How Can I Reliably Check for Key Existence in JavaScript Objects and Arrays?

確定JavaScript 物件中的鍵是否存在

問題:

如何可靠地檢查某個特定鍵是否存在於某個物件中JavaScript 物件或陣列?

關注點:

  • 存取不存在的鍵是否會回傳 false 或拋出錯誤?
  • 是否檢查未定義的金鑰存在的準確方法驗證?

答案:

不建議使用未定義運算子檢查金鑰是否存在,因為它可能不可靠。考慮以下場景:

var obj = { key: undefined };
console.log(obj["key"] !== undefined); // false, but the key exists!

在這種情況下,物件 obj 中存在鍵“key”,但其值未定義。因此,檢查 obj["key"] 是否未定義會回傳 false。

建議:

要可靠地檢查鍵是否存在,請使用hasOwnProperty() 方法物件以及陣列和物件的in 運算子:

  • 對於物件: obj.hasOwnProperty("key")檢查指定的鍵(作為字串)是否作為物件的自有屬性存在(不包括繼承的屬性)。
  • 對於陣列和物件: obj 中的 key 檢查指定的鍵是否存在key 存在於陣列或物件中,甚至包括非自己的屬性(從父物件繼承)。

以上是如何可靠地檢查 JavaScript 物件和陣列中的鍵是否存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn