使用巢狀成員迭代 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" } };
循環遍歷該物件的所有成員,包括對於巢狀成員,我們可以利用for. ..in 迴圈的組合。以下是範例:
for (var key in validation_messages) { // Skip loop if the property is from prototype if (!validation_messages.hasOwnProperty(key)) continue; // Access the nested member object var obj = validation_messages[key]; for (var prop in obj) { // Skip loop if the property is from prototype if (!obj.hasOwnProperty(prop)) continue; // Access the individual properties alert(prop + " = " + obj[prop]); } }
此程式碼迭代validation_messages物件的頂層鍵。對於每個鍵,它檢查它是否是物件的有效屬性(不包括從原型繼承的屬性)。如果有效,它將存取嵌套成員物件並執行另一個 for...in 迴圈來迭代其屬性。它再次檢查有效屬性並檢索它們的值。
使用此方法,您可以無縫循環 JavaScript 物件的頂層成員和巢狀成員,從而提供對它們所有值的存取。
以上是如何有效地迭代 JavaScript 中的嵌套物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!