使用嵌套成员迭代 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中文网其他相关文章!