微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

访问列表对象内的对象

如何解决访问列表对象内的对象

所以我有这个对象,其中嵌套了其他对象和数组。我想创建一个函数来列出这个对象及其嵌套对象中的所有元素。我确实创建了一个函数,但是当它列出对象中的项目时,它会在有嵌套对象或数组的部分显示 [object object]

这是我拥有的对象:

let weather = {
        base: "stations",clouds: {
          all: 1
        },coord: {
          lat: 43.65,lon: -79.38
        },dt: 1507510380,id: 6167863,main: {
          humidity: 77,pressure: 1014,temp: 17.99,temp_max: 20,temp_min: 16
        },name: 'Downtown Toronto',sys: {
          type: 1,id: 2117,message: 0.0041,country: 'CA',sunrise: 1507548290,sunset: 1507589027,type: 1
        },visibility: 16093,weather: [
          {
            description: 'clear sky',icon: '01n',id: 800,main: "Clear"
          }
        ],wind: {
          deg: 170,speed: 1.5
        }
      
      }

我创建的函数

function listWeather(object) {
        let itemsList = ''
        for (let key in object) {
          itemsList+= '<li>' + key + ' : ' + object[key] + '</li>'
        }
        return itemsList
      }

解决方法

let weather = {
    base: "stations",clouds: {
      all: 1
    },coord: {
      lat: 43.65,lon: -79.38
    },dt: 1507510380,id: 6167863,main: {
      humidity: 77,pressure: 1014,temp: 17.99,temp_max: 20,temp_min: 16
    },name: 'Downtown Toronto',sys: {
      type: 1,id: 2117,message: 0.0041,country: 'CA',sunrise: 1507548290,sunset: 1507589027,type: 1
    },visibility: 16093,weather: [
      {
        description: 'clear sky',icon: '01n',id: 800,main: "Clear"
      }
    ],wind: {
      deg: 170,speed: 1.5
    }
  
  }

function listWeather(object) {
    let itemsList = ''
    let itemsSubList = ''
    for (let key in object) {
      var item = object[key]
      if( isObject(item) ){
        for (let k in item) {
        document.write('<li>---' + k + ' : ' + item[k] + '</li>');
        }
      }else{
        if( Array.isArray(item) ){
          document.write('<li>----'+ key +':</li>');
          for (let l in item[0]) {
            document.write('<li>------' + l + ' : ' + item[0][l] + '</li>');
          }
        }else{
          document.write('<li>' + key + ' : ' + object[key] + '</li>');
        }
      }
    }
    // return itemsList
 }

function isObject(objValue) {
  return objValue && typeof objValue === 'object' && objValue.constructor === Object;
}

listWeather(weather)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?