对象遍历,多层嵌套数组,for in方法对象遍历,map方法数组遍历

// 数据格式
objData: {
        code: 0,
        data: [
          {
            msg: "200",
            data: [
              {
                name: "张三",
                age: 18,
                sex: "男"
              }
            ]
          },
          {
            msg: "200",
            data: [
              {
                name: "张气",
                age: 11,
                sex: "男"
              }
            ]
          },
          {
            msg: "200",
            data: [
              {
                name: "张五",
                age: 12,
                sex: "女"
              }
            ]
          },
          {
            msg: "200",
            data: [
              {
                name: "张六",
                age: 14,
                sex: "女"
              }
            ]
          },
        ]
      },
// 需求是想只拿到里面的name

遇到这种情况,对象嵌套数组,数组又嵌套对象...
那么for in方法是可以遍历对象的;而遍历数组的话可以用map(或者用其他的数组遍历方法)

for (let key in this.objData) { // 遍历对象
      console.log(key); // 每一个属性
      if(key == "data"){ // 只有属性是data
        console.log(this.objData[key]); // 拿到每一个属性值(此时拿到的是一个数组了)
        this.objData[key].map(item => { // 遍历数组
          // 每个item又是一个对象,既然是对象就可以直接点语法或者中括号语法了
          // item.data又变成一个数组了,因为里面只有一个值,那么数组的话直接[0]就可以拿到了
          console.log(item.data[0].age); // 拿到了最里面的对象的age
          return item.data[0].age;
          // 可以拿个数组把age接收起来,完成这个对象与数组嵌套取值了
        })
      }
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容