搜索/筛选从文本文件创建的Javascript数组

搜索/筛选从文本文件创建的Javascript数组,javascript,arrays,search,filter,Javascript,Arrays,Search,Filter,我希望有人对我的问题有想法或能给我一些建议 开始场景: 一个.txt日志文件是由一个软件创建的,我尝试创建一个网站查询,其中显示了该日志中包含的错误消息,这些消息清楚地排列在彼此之间 到目前为止,我已经有了将文件作为变量读取、将内容映射为数组并将其拆分为单行的代码 <html> <div> Select Errorlog: <input type="file" id="fileInput"> </div> <pre id="displayF

我希望有人对我的问题有想法或能给我一些建议

开始场景: 一个.txt日志文件是由一个软件创建的,我尝试创建一个网站查询,其中显示了该日志中包含的错误消息,这些消息清楚地排列在彼此之间

到目前为止,我已经有了将文件作为变量读取、将内容映射为数组并将其拆分为单行的代码

<html>
<div>
Select Errorlog:
<input type="file" id="fileInput">
</div>

<pre id="displayFile"></pre>
<script>

   var fileInput = document.getElementById('fileInput');

   fileInput.addEventListener('change', function(e) {

          var file = fileInput.files[0];
          var reader = new FileReader();

   reader.onload = function(e) {

          var dateiinhalt = reader.result;
          var arr = dateiinhalt.split("\n");

   document.getElementById("Errorlog").innerHTML = arr[1];

};
 reader.readAsText(file);           
});
</script>
<p id="Errorlog"></p>
</html>
目标是立即显示包含“错误”的每一行。
我尝试了几个筛选/搜索功能,但我尝试的所有功能都不起作用(f.e.array.prototype.filter或indexOf)。

假设在
.split()
之后,您有一个日志行数组作为字符串,则筛选错误的简单方法是:

var arr = dateiinhalt.split("\n");
arr = arr.filter(line => line.indexOf("ERROR") >= 0);
或者,用更老式的方式:

arr = arr.filter(function(line) { return line.indexOf("ERROR") >= 0; });

我已经尝试过类似的方法,但可能遇到了思维错误。对我来说是可行的,有了工作过滤器,我终于可以处理剩下的脚本函数了,谢谢:)不客气。顺便说一下,如果您需要从这些日志中提取更多信息,我想您可能会考虑将它们解析为具有日期、时间、级别、消息等属性的实际对象。
arr = arr.filter(function(line) { return line.indexOf("ERROR") >= 0; });