Search / Filter Javascript Массив, созданный из текстового файла - PullRequest
0 голосов
/ 26 февраля 2020

Я надеюсь, что у кого-то есть идея или кто-то может высказать свое мнение по моей проблеме.

Начальный сценарий: .txt Logfile создается программным обеспечением, и я пытаюсь создать запрос веб-сайта, который показывает содержащиеся сообщения об ошибках. из этого журнала четко расположены между собой.

Пока у меня есть код для чтения файла как переменной, сопоставления содержимого в виде массива и разделения его на отдельные строки.

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

<pre id="displayFile">
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"). inner HTML = arr [1];}; reader.readAsText (file);});

Это была простая работа, но теперь я отчаянно пытаюсь отфильтровать массив или отобразить определенные значения индекса массива.

Сам файл журнала выглядит как

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

Цель состоит в том, чтобы показать каждую строку, которая содержит «ОШИБКА» сразу. Я пробовал несколько функций фильтрации / поиска, но все, что я пробовал, не работало (например, array.prototype.filter или indexOf).

1 Ответ

0 голосов
/ 26 февраля 2020

Если предположить, что после .split() у вас есть массив строк журнала в виде строк, простой способ отфильтровать его на наличие ошибок:

var arr = dateiinhalt.split("\n");
arr = arr.filter(line => line.indexOf("ERROR") >= 0);

или в более старомодном стиле:

arr = arr.filter(function(line) { return line.indexOf("ERROR") >= 0; });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...