Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中通过嵌套数组循环_Javascript - Fatal编程技术网

在Javascript中通过嵌套数组循环

在Javascript中通过嵌套数组循环,javascript,Javascript,所以我有一个返回JSON数据的API JSON示例: { "result":"OK", "data":[ { "number":"613-555-5555", "calls":30 }, { "number":"613-666-5555", "calls":100 } ] } 我试图使用javascript输出它,以显示以下内容 [电话号码],[电话号码]

所以我有一个返回JSON数据的API

JSON示例:

{
   "result":"OK",
   "data":[
      {
         "number":"613-555-5555",
         "calls":30
      },
      {
         "number":"613-666-5555",
         "calls":100
      }
   ]
}
我试图使用javascript输出它,以显示以下内容

[电话号码],[电话号码]
var response=response.data;
变量长度=响应长度;
警报(数据[0]。编号);
警报(数据[0]。呼叫);
对于(变量i=0;i
这只是将数据映射到所需格式的问题:

var final = response.data.map(function(item) {
    return [item.number, item.calls];
});
console.log(final);
下面是一个演示:

编辑:


我不知道您正在寻找字符串表示(我以为您想要数组)。如果是这种情况,请忽略上面的内容。

如果您喜欢代码方面的一切,并且只想修复错误,那么我建议更改

var response = response.data;

另外,为了调试,请更改

document.write(arrayItem);


您从当前拥有的数据中得到了什么输出?我在这里没有看到嵌套数组。您在一个位置引用了
数据
,在另一个位置引用了
响应
。是哪一个?@Asad-再看看<代码>数据未被引用,但被称为存在。不能仅使用属性名称来引用属性。通过定义
var response=response.data
的意思是你可以神奇地使用
数据
作为变量名。根据注释,可能是重复的,这就是OP实际上正在做的。问题表明对
alert()
的调用有效,这意味着原始代码中的变量名是正确的。因此,问题很可能是调用
文档。在页面加载后编写
。不喜欢根据评论回答问题。整个问题都应该在问题中提出。此外,在没有
数据
对象的情况下尝试访问
数据[0]
将是
文档之外的问题。写入
错误。为了代码的清晰性,我个人非常喜欢看
函数(数据){return[data.number,data.calls];}
只是因为它更容易阅读。@ChaseFlorell
data
被用来引用原始对象的属性,所以我认为使用
data
来引用
response的元素。data
可能会有点混淆。尽管如此,我还是努力改进了命名。
var response = response.data;
var data = response.data;
document.write(arrayItem);
console.log(arrayItem);