数组保持为空

Array remains empty

本文关键字:数组      更新时间:2023-09-26

我正在尝试从文件中加载一些文本,将其拆分为'n并将每一行推送到数组中:

var entries = new Array();
$( document ).ready(function() {
    loadFile(); 
    console.log(entries.length) // Result: 0
});
function loadFile(){
    $.get('file.txt', function(data) {
        console.log(data); // my file is shown
        var lines = data.split("'n");
        $.each(lines, function(key, value) {
            entries.push(value);
        });
    }, 'text'); 
}

我可以在控制台中看到文件的内容,因此正在加载文件,但我的数组仍然为空,其长度为 0 .

为什么这些行不会被推入我的数组?

>$.get是异步函数,因此您应该在获得响应data后在回调中显示长度:

var entries = new Array();
$( document ).ready(function() {
    loadFile();
});
function loadFile(){
    $.get('file.txt', function(data) {
        console.log(data); // my file is shown
        var lines = data.split("'n");
        $.each(lines, function(key, value) {
            entries.push(value);
        });
        console.log(entries.length) // that will return the true length
    }, 'text'); 
}

检查如何从异步调用返回响应?。

希望这有帮助。