数组调用返回未定义

Array call returns undefined

本文关键字:未定义 返回 调用 数组      更新时间:2023-09-26

我正在尝试打印数组(行(,但它只能在函数内部(进程数据(,但如果我在外部调用它,它是未定义的。

$(document).ready(function() {
    $.ajax({
        type: "GET",
        url: "data.txt",
        dataType: "text",
        success: function(data) {processData(data);}
     });
});

var lines = [];
function processData(allText) {
    var allTextLines = allText.split(/'r'n|'n/);
    var headers = allTextLines[0].split(',');

    for (var i=1; i<allTextLines.length; i++) {
        var data = allTextLines[i].split(',');
        if (data.length == headers.length) {
            var tarr = [];
            for (var j=0; j<headers.length; j++) {
                tarr.push(data[j]);
            }

            lines.push(tarr);
        }
    }
}
 alert(lines);

在等待函数调用之前,您正在打印它。按如下操作:

$(document).ready(function() {
    $.ajax({
        type: "GET",
        url: "data.txt",
        dataType: "text",
        success: function(data) {processData(data); alert(lines);}
     });
});