首页 > 解决方案 > 无法将元素推送到数组 Javascript

问题描述

我确信这很简单,但我并不是真正的 JS 开发人员。

我有以下函数设置两个数组等于 json 响应,以便我可以将数组加载到 Chart.js

$(document).on("turbolinks:load",function(){
    var months = [];
    var values = [];

    $.getJSON({url: "/reports/graph_data.json", success: function(data){

        for (var i = 0, len = data.length; i < len; i++) {
            months.push(data[i][0]);
            values.push(data[i][1]);
        }
        alert(months); //DISPLAYS CORRECT MONTHS
    }});

    alert(months); //DISPLAYS NOTHING
});

请注意,我在代码中有两个警报。第一个警报显示响应的月份,如我所料,但第二个警报是空的。为什么是这样?当我在 getJSON 函数之外引用数组时,我会认为范围不会被破坏。

提前致谢。

标签: javascript

解决方案


推荐阅读