猿问

如何以对象作为成员遍历普通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"
    }}


梵蒂冈之花
浏览 597回答 3
3回答

婷婷同学_

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]);     }}

湖上湖

在ECMAScript 5下,您可以将Object.keys()和Array.prototype.forEach():var obj = {  first: "John",  last: "Doe"};//// Visit non-inherited enumerable keys//Object.keys(obj).forEach(function(key) {  console.log(key, obj[key]);});运行代码段

开心每一天1111

这个问题for (var key in validation_messages) {    var obj = validation_messages[key];    for (var prop in obj) {       alert(prop + " = " + obj[prop]);    }}您还将遍历原语对象的原型。有了这个,你就会避开它:for (var key in validation_messages) {    if (validation_messages.hasOwnProperty(key)) {       var obj = validation_messages[key];       for (var prop in obj) {          if (obj.hasOwnProperty(prop)) {             alert(prop + " = " + obj[prop]);          }       }    }}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答