javascript - 如果通过遍历获取json中嵌套的对象的值?
天蓬老师
天蓬老师 2017-04-10 17:16:37
[JavaScript讨论组]

我想通过for in 获取json中嵌套的对象的属性值,可是返回的却是undefined,代码如下:
这是json代码:

var recentUpdates = [
    {
        "...":"...",
        "tags":{
          "tag1":"html",
          "tag2":"移动开发"
        }
    }]
   

这是JavaScript代码:

 <script type="text/javascript">
  var a = recentUpdates[0].tags;
  var b;
  for (var b in a){
     console.log(a.b);//返回undefined
     console.log(a.tag1);//返回html;
  }
  </script>

请问为什么console.log(a.b)会返回undefined呢?那么应该如何通过属性名获取对应的值呢?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
巴扎黑

console.log(a[b]); //a.b 对象a的属性b而不是b的值

巴扎黑

你的a.b表示的是a里面的b这个项,而不是a[b]。。。
你换成下面这样,应该能得到正确结果
var recentUpdates = [{

    "...":"...",
    "tags":{
      "tag1":"html",
      "tag2":"移动开发"
    }
}];

var a = recentUpdates[0].tags;
var b;

for (b in a){

 console.log(a[b]);//返回正确的结果
 console.log(a.tag1);//返回html;

}

黄舟

你这个b要在这个js对象里面,有这个属性,没有肯定是undefined!这个方法虽然好用,不用管json里面的结构。但是for in会查找原型链。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号