使用巢狀物件迭代 JavaScript 物件
在 JavaScript 中,使用點或括號表示法存取物件的屬性非常簡單。然而,在處理巢狀物件時,遍歷所有成員可能會更加複雜。
問題陳述:
如何有效地循環 JavaScript 物件的所有成員,包括物件本身的值?例如,考慮以下物件:
var validation_messages = { "key_1": { "your_name": "jimmy", "your_msg": "hello world" }, "key_2": { "your_name": "billy", "your_msg": "foo equals bar" } };
目標是迭代該物件的所有屬性,存取每個巢狀物件的「your_name」和「your_msg」。
解決方案:
要循環遍歷具有嵌套對象的JavaScript 對象,我們可以使用以下組合Object.keys() 方法和嵌套的for.. .in 循環。 Object.keys() 方法傳回一個物件的所有可枚舉屬性名稱的陣列。
for (var key in validation_messages) { // skip loop if the property is from prototype if (!validation_messages.hasOwnProperty(key)) continue; var obj = validation_messages[key]; for (var prop in obj) { // skip loop if the property is from prototype if (!obj.hasOwnProperty(prop)) continue; // your code alert(prop + " = " + obj[prop]); } }
在此解決方案中:
此解決方案有效地循環遍歷巢狀物件的所有成員,允許輕鬆存取它們的值。
以上是如何在 JavaScript 中迭代嵌套物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!