Javascript:解析一个txt文件,将数据传递给一个数组

标签 javascript arrays parsing

晚上好。我是 Javascript 的新手,我一直在学习一些类(class)来帮助我完成我和 friend 一起做的一个小项目。

我的问题是,我使用 Javascript 读取具有以下形式的 txt 文件(我通过离线 Java 程序中的算法生成):

 [[37.928],[23.6965]]
 [[37.9305],[23.69675]]
 [[37.9315],[23.69775]]
 [[37.9335],[23.69975]]
 [[37.9350],[23.69999]]

以下 Javascript 尝试解析该文件并将这些值作为数组返回给我,每一行都是数组中的一行。

<iframe id="frmFile" src="test.txt" onload="LoadFile();" style="display: none;"></iframe>
<script type="text/javascript">

var nodeArray=new Array();  

function LoadFile() {
    var oFrame = document.getElementById("frmFile");
    var strRawContents = oFrame.contentWindow.document.body.childNodes[0].innerHTML;
    while (strRawContents.indexOf("\r") >= 0)
        strRawContents = strRawContents.replace("\r", "");
    arrLines = strRawContents.split("\n");
    for (var i = 0; i < arrLines.length; i++) {
        nodeArray = arrLines[i];
    }
}

问题是,如果我离开最后一行并尝试打印结果,它正常出现(整行),当我尝试填充数组时它只在每一行中输入一个字符,最终结果是[ [ 3 7 。而不是线条。我做错了什么?

最佳答案

这应该有效:

var nodeArray=new Array();  

function LoadFile() {
  var oFrame = document.getElementById("frmFile");
  var strRawContents = oFrame.contentWindow.document.body.childNodes[0].innerHTML.replace(/\r/g, '');
  var arrLines = strRawContents.split("\n");
  arrLines.forEach(function (line) {
    nodeArray.push(JSON.parse(line));
  });
}

关于Javascript:解析一个txt文件,将数据传递给一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16989697/

相关文章:

python - Numpy:从给定范围生成组合的有效方法

python - 使用 Python 查找和更改 XML 文件中的属性

python - 解析现有的配置文件

javascript - iOS 视频播放器播放按钮在 15 个视频后禁用

javascript - 使用 d3 从一侧到另一侧的水平淡入过渡?

javascript - Laravel 错误 405(Method Not Allowed) Ajax 发布

arrays - 在 Go 中读取一行以空格分隔的整数的简洁而健壮的方法

javascript - 使用点符号连接字符串和变量 = 错误?

javascript - 如何使用 .forEach() 方法循环对象并将结果存储在新数组中

php - 将键值对的 PHP 数组转换为分层嵌套树结构