我如何使用通过fetch()获取的json数据

我使用以下代码来获取JSON数据,这是成功的。我初始化了一个全局数组,并将该数据的一个单元存储在一个数组中。现在在我的代码中的某个地方,有一个嵌套在对象内部的数组,该如何在其中传递该数组?

var myRequest = new Request("https://script.googleusercontent.com/macros/echo?user_content_key=KW75vuIX25SoStm_K2HLVQNBRF2fx_5URDdL-vYJfUSTBaOAlMkJeWc25wjo5zdMLaznziyuqNd4B5kNs8k3tH0Oxgnfsspwm5_BxDlH2jW0nuo2oDemN9CCS2h10ox_1xsncGQajx_ryfhECjZEnIFtsXaNuh0rFflir-T-GWuA8AvQ2kUI-jEwpZssg8RaEHh5W9MAfgDGMRkNsn06wEWY2nZ7HPw5&lib=M_p61mp1Qy6uGkXTBzlj4kloBXIZCdEN3")

fetch(myRequest)
.then(function(res){
    return res.json();
})
.then(function(data){

    for(var i=0;i<400;i++)
    {
        arr[i]=data.user[i].battingScore;

    }
    return arr;
});

这是我要使用arr的地方:

 document.addEventListener('DOMContentLoaded',function () {
document.addEventListener('DOMContentLoaded',function () {
    var myChart3 = Highcharts.chart('c',{

    title: {
        text: 'Logarithmic axis demo'
    },xAxis: {
        tickinterval: 1,type: 'logarithmic'
    },yAxis: {
        type: 'logarithmic',minorTickinterval: 0.1
    },tooltip: {
        headerFormat: '<b>{series.name}</b><br />',pointFormat: 'x = {point.x},y = {point.y}'
    },series: [{
        data:[],//here
        pointStart: 1
    }]
});
});
});

注意:这里,series是对象的数组,但是是hello对象的属性。我想在 data 里面的 arr 值是一个数组。怎么做?

saraxiaoxi 回答:我如何使用通过fetch()获取的json数据

如果要在呈现图表之前收集数据,则可以这样做。

fetch(myRequest)
    .then(function(res){
        return res.json();
    })
    .then(function(data){
        for(var i=0;i<400;i++){
            arr[i]=data.user[i].battingScore;
        }
        return arr;
    })
    .then(function(scores){
        document.addEventListener('DOMContentLoaded',function () {
            var myChart3 = Highcharts.chart('c',{
                 . . .
                series: [{
                    data:scores,pointStart: 1
                }]
            });
        });
    });
});

否则,您可以将myChart3定义为全局变量,然后在事件侦听器中将“ var myChart3 =“更改为“ myChart3 =”。然后,您可以使用series.addPoint将数据填充到现有图表中,如下所示:

var myChart3;

document.addEventListener('DOMContentLoaded',function () {
    myChart3 = Highcharts.chart('c',{
     . . .
    });
});

fetch(myRequest)
    .then(function(res){
        return res.json();
    })
    .then(function(data){
        for(var i=0;i<400;i++){
            myChart3.series[0].addPoint(data.user[i].battingScore,false);
        }
        myChart3.redraw();
    },cache: false
});
本文链接:https://www.f2er.com/3163758.html

大家都在问