【发布时间】:2021-01-21 04:28:35
【问题描述】:
对此有很多解决方案,但我在 html 网页上的 javascript 中发现很少或没有。我有一个名为 sample.txt 的数据文件,位于我的 html 文件所在的位置。我的目标是将 txt 文件加载到可用于创建表格并显示在 html 文件上的数组中。我的 sample.text 文件有以下数据:
sin 0.2 time 0.22222
cos 0.3 time 0.43434
tan 0.1 time 0.22221
我是 Javascript 的新手,我承认它比其他编程语言更难。 我熟悉 node.js 模式下的 javascript,但不熟悉 html 模式。我设法创建了 html 网页(如下所示)并在脚本模式下显示文本和数字等基础知识。我还设法在脚本模式下按下按钮后加载 txt 文件并显示它。这个 txt 加载方法是唯一对我有用的方法。 require (js) 方法不起作用也不导入。如何从这种工作模式创建数据数组?
以下是我的完整代码(已更正),
<!DOCTYPE html>
<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<title>Read Text File</title>
</head>
<body>
<input type="file" name="inputfile"
id="inputfile">
<br>
<pre id="output"></pre>
<script>
var file = document.getElementById('inputfile');
file.addEventListener('change', () => {
var txtArr = [];
var fr = new FileReader();
fr.onload = function() {
// By lines
var lines = this.result.split('\n');
for (var line = 0; line < lines.length; line++) {
txtArr = [...txtArr, ...(lines[line].split(" "))];
}
}
fr.onloadend = function() {
console.log(txtArr);
document.getElementById('output').textContent=txtArr.join("");
document.getElementById("output").innerHTML = txtArr[1];
console.log(txtArr[1]);
}
fr.readAsText(file.files[0]);
})
</script>
</body>
</html>
【问题讨论】:
-
你试过 fs.readFile 吗?你可以参考这个链接:Get data from fs.readFile
-
您可以控制文件格式吗?除了空白之外几乎没有数据结构使得它比它需要的更困难。您可以将其格式化为 JSON 吗?甚至是 CSV?
-
是的,我可以控制文件格式。 Text.txt 文件是由其他语言代码生成的,例如 c、pascal 等。我编码的目的是为少数几种编程语言开发代码,包括 javascript,用于测量每种语言进行基本数学运算的速度性能。然后比较它们。我使用 javascript 来总结结果并将其显示为学习和练习的一部分。
标签: javascript html arrays