簡體   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