在Javascript中通过嵌套数组循环
所以我有一个返回JSON数据的API JSON示例:在Javascript中通过嵌套数组循环,javascript,Javascript,所以我有一个返回JSON数据的API JSON示例: { "result":"OK", "data":[ { "number":"613-555-5555", "calls":30 }, { "number":"613-666-5555", "calls":100 } ] } 我试图使用javascript输出它,以显示以下内容 [电话号码],[电话号码]
{
"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];}
只是因为它更容易阅读。@ChaseFlorelldata
被用来引用原始对象的属性,所以我认为使用data
来引用response的元素。data
可能会有点混淆。尽管如此,我还是努力改进了命名。
var response = response.data;
var data = response.data;
document.write(arrayItem);
console.log(arrayItem);