首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我不能将JSON数据放入数组中

我不能将JSON数据放入数组中
EN

Stack Overflow用户
提问于 2018-10-01 22:13:16
回答 2查看 131关注 0票数 0

我不能打印数组“valore”中的任何项。我不知道发生了什么。我是不是做了一个汉化错误?当我执行console.log(valores.length)时,结果为0。

代码语言:javascript
复制
var valores = new Array();

fetch("https://mindicador.cl/api")
.then (data => data.json())
.then (data => {
    valores["dolar"] = data.dolar.valor;
    valores["euro"] = data.euro.valor;
    valores["utm"] = data.utm.valor;
    valores["uf"] = data.uf.valor;
});

for (var index in valores){
    document.write(valores[index]+"<br>");
}
EN

回答 2

Stack Overflow用户

发布于 2018-10-01 22:17:04

您的问题是time。您正在向请求信息并填充valores数组的服务器做出承诺。但问题是,您在执行for循环之后:

代码语言:javascript
复制
for (var index in valores){
    document.write(valores[index]+"<br>");
}

代码语言:javascript
复制
.then (data => {
    valores["dolar"] = data.dolar.valor;
    valores["euro"] = data.euro.valor;
    valores["utm"] = data.utm.valor;
    valores["uf"] = data.uf.valor;
    for (var index in valores){
        document.write(valores[index]+"<br>");
    }
});
票数 5
EN

Stack Overflow用户

发布于 2018-10-01 22:16:36

我认为你对数组的作用有误解。尝试使用对象而不是数组:

代码语言:javascript
复制
var valores = new Object();
fetch("https://mindicador.cl/api")
.then (data => data.json())
.then (data => {
    valores["dolar"] = data.dolar.valor;
    valores["euro"] = data.euro.valor;
    valores["utm"] = data.utm.valor;
    valores["uf"] = data.uf.valor;

    for (var key in Object.keys(valores)){
        document.write(valores[key]+"<br>");
    }

});

如果你需要更多的解释,请告诉我。我很乐意详细说明。

编辑:值得注意的是,正如其他人指出的那样,您也没有遵守数据的回调。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52593052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档