繁体   English   中英

搜索/过滤从文本文件创建的 Javascript 数组

[英]Search/Filter Javascript Array which was created from a text file

我希望有人有想法或可以就我的问题给我一些意见。

起始场景:一个 .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>

那是一项简单的工作,但现在我迫切希望过滤数组或显示数组的某些索引值。

日志文件本身看起来像

2020-02-26 00:00:00 | ERROR | Message
2020-02-26 00:00:01 | INFO | NewEvent
2020-02-26 00:00:01 | ERROR | Message 2

目标是一次显示包含“ERROR”的每一行。 我尝试了几个过滤/搜索功能,但我尝试的所有功能都不起作用(fe 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; });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM