For Loop从每个嵌套数组中获取一个变量

时间:2018-02-19 16:10:57

标签: javascript arrays loops for-loop nested

我正在尝试通过一些Json并获得" city_name"每个嵌套数组的值,并将其打印在列表中。问题:如何遍历数组并从每个数组中获取第一个元素?

“state”: [
    {
      “city_name”: “Denver”,
      “timezone”: “MST”,
    },
    {
      “city_name”: “Austin”,
      “timezone”: “CST”,
    }
{
      “city_name”: “Atlanta”,
      “timezone”: “EST”,
    }
  ],

我试过的Javascript:

fetch(‘URL’).then(function(response) { 
        return response.json();
    }).then(function(data) {
        console.log(data);
        for (x in data.state) {
        document.getElementById("cities").innerHTML += data.state.city_name + "<br>";
    }    
    });

响应: 未定义 未定义 未定义

这是获取数组内部值的正确方法吗?为什么说未定义? *这只是帮助解释我的问题的示例数据

1 个答案:

答案 0 :(得分:1)

fetch(‘URL’).then(function(response) { 
  return response.json();
}).then(function(data) {
  let cities = data.state.map(e => e.city_name);
  document.getElementById("cities").innerHTML += cities.join('<br/>');
});

这应该可以正常,假设data是包含属性state

的对象