gpt4 book ai didi

javascript - 逐行读取本地文本标题,将行存储在数组中

转载 作者:行者123 更新时间:2023-12-03 12:42:44 26 4
gpt4 key购买 nike

我有一个本地文本文件wordsEn.txt,其中包含字典中的所有单词(小写):

a
aah
aahed
aahing
aahs
aardvark
[etcetera]

在页面加载时,我希望将它们放入数组中:

words = ["a", "aah", "aahed", "aaching", "aahs", "aardvark", ...];

这是我在尝试读取文本文件时返回响应代码的函数:

    function get_words()
{
var rawFile = new XMLHttpRequest();
rawFile.open("POST", "wordsEn.txt", true);
rawFile.onreadystatechange = function ()
{
if (rawFile.readyState === 4)
{
if (rawFile.status === 200 || rawFile.status == 0)
{
return rawFile.responseText;
}
}

}
rawFile.send(null);
}

我试图复制这里的过程:Javascript - read local text file

(我承认我在没有真正理解它的作用的情况下复制了它。)

显然它不起作用,因为

    var resp = get_words(); 
document.getElementById("spresdiv").innerHTML += "<p>" + resp + "</p>";

spresdiv div 中写入 undefined。知道这是为什么以及如何解决它吗?

在相关说明中,有谁知道 JavaScript 数组是否是通过树或任何其他类型的快速查找来实现的? indexOf(...) 使用线性搜索吗?

最佳答案

Ajax 是异步的。您无法从 get_words 返回 responseText。您应该使用回调。

function get_words(callback) {
var rawFile = new XMLHttpRequest();
rawFile.open("POST", "wordsEn.txt", true);
rawFile.onreadystatechange = function () {
if (rawFile.readyState === 4) {
if (rawFile.status === 200 || rawFile.status == 0) {
callback(rawFile.responseText);
}
}

}
rawFile.send(null);
}

get_words(function (resp) {
document.getElementById("spresdiv").innerHTML += "<p>" + resp + "</p>";
});

关于javascript - 逐行读取本地文本标题,将行存储在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23479913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com