晚上好。我是 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/