首页 > 解决方案 > 如何使用 JavaScript 的 FileReader API 读取多个文本文档并将其内容作为字符串添加到数组中?

问题描述

我正在尝试使用 JS 来:

  1. 读取几个包含 JSON 对象作为文本的 .txt 文件
  2. 将这些文本字符串保存到一个数组中(长度等于我正在读取的文件数)
  3. 在所有 JSON 对象中的 rows[0].elements[i].distance.text 中基本上编写一个以逗号分隔的长列表。

我的代码如下所示:

<!DOCTYPE html>
<html>
<body>

<h2>Distances</h2>

<script>
    
    document.write("Test string!")
    
    var fr = new FileReader();

    var files = ['Abing0.txt', 'Abing1.txt', 'Abing2.txt', 'Abing3.txt', 'Abing4.txt', 'Abing5.txt', 'Abing6.txt', 'Abing7.txt', 'Abing8.txt', 'Abing9.txt', 'Abing10.txt', 'Abing11.txt', 'Abing12.txt', 'Abing13.txt', 'Abing14.txt'];

    for (int p = 0; p < files.length; p++){
        files[p] = new FileReader().readAsText(files[p]);
        files[p] = JSON.parse(files[p]);
    }
    
    var myAddress = [];

    for (var l = 0; l < files.length < l++){
        for (var i = 0; i < 24; i++) {
            myAddress[i] = files[l].rows[0].elements[i].distance.text;
            document.write(myAddress[i] + ", ");
        }
    }
</script>
</body>
</html>

以Abing6.txt的内容为例。

我怀疑我的第一个 for 循环中的某些东西导致了这些问题,因为我对 FileReader 或 JSON 几乎没有经验,但我们将不胜感激。

标签: javascriptjsonfilereadertxt

解决方案


推荐阅读