потому что вы работаете с массивом данных. результат вашего парсинга это массив объектов. В прошлом коменте я не правильно написал, надо так:
let arr = [
{'name' : 'Прудников Сергей Анатольевич', 'hz': '672400114230,2308,97', 'company': 'Асс оциация МСРО "Содействие" - Ассоциация "Межрегиональная саморегулируемая организация арбитражных управляющих "Содействие"'};
...
]
Из этого массива необходимо собрать таблицу наверное или список какой-то, а потом ты подгони код ниже под свой и будет работать.
Теперь код, писал правда давно, но я думаю что у вас все получится, смысл такой, что у тебя есть какая-то таблица с данными, типа тех, из файла, ты считываешь событие input на input'е и сравниваешь с тем что у тебя есть.
let inputFilterValue = input.value.toLowerCase(); // это то что вводишь в инпут
var count = []; // счетчик
for (var i = 0;i < data.length;i++) { // data.length - это длинна массивы с данными
var cell = deta[i].cells; // что такое cells посмотри сам
for (var f = 0; f < cell.length;f++) {
if (inputFilterValue.length >= 3) { // поиск только после 3 символов, так лучше
if (cell[f].innerHTML.toLowerCase().indexOf(inputFilterValue) > -1) count.push(cell[f]); // сравнение
for (var s = 0; s < count.length;s++) { // тут мы оставляем на экране только совпадения
count[s].classList.add('find');
count[s].parentNode.setAttribute('data-view', 'true');
}
_ELEMENTS.filter.info.innerHTML = (count.length > 0) ? 'Рузультат поиска: ' + count.length : 'Ничего не найдено'; // это если нет результатов поиска , то выводим сообщение, а если нет сам смотри
} else {
cell[f].parentNode.setAttribute('data-view', 'default');
cell[f].classList.remove('find');
_ELEMENTS.filter.info.innerHTML = '';
count.splice(0, count.length);
}
}
}
Я думаю разберешься. Код рабочий, у меня работает