Глобальный поиск в ngx-datatable TypeError: Невозможно преобразовать неопределенные или null в объект

Я создал поиск во всех моих столбцах из моей таблицы следующим образом:

filteredData = [];
cols = [ {name: 'site'}, {name: 'filiere'}, {name: 'typeEvenement'},
{name: 'typeSource'}, {name: 'motifNotif'}, {name: 'canal'}, {name: 
'modele'},
{name: 'choixDefaut'}, {name: 'applicable'}, {name: 'dateDebut'}, {name: 
'dateFin'}];

filterDatatable(event) {
    const val = event.target.value.toLowerCase();
    const colsAmt = this.cols.length;
    const keys = Object.keys(this.temp[0]);
    this.temp = this.filteredData.filter(function (item) {
        for (let i = 0; i < colsAmt; i++) {
            if (typeof (item[keys[i]]) === null || undefined) {
                continue;
            } else {
                if (item[keys[i]].toLowerCase().indexOf(val) !== -1 || !val) {
                    return true;
                }
            }
        }
    });
}

У меня есть что-то подобное в temp [0]: {section: "GBOCAA", filiere: "ADP", type: "ADATVI", typeSource: "ADH", canal: "EMAIL", …}

As У меня была эта ошибка, я реализовал if typeof:

TypeError: Невозможно преобразовать undefined или null в объект

Однако я получаю ту же ошибку, даже если я это сделал.

1
задан 13 August 2018 в 15:45

1 ответ

Для необъявленных переменных typeof foo вернет строковый литерал «undefined», тогда как проверка идентификации foo === undefined вызовет ошибку «foo is not defined».

Итак, ваше условие if должно быть примерно следующим:

if (item[keys[i]] === undefined) {
                continue;
            } 
0
ответ дан 15 August 2018 в 17:03
  • 1
    Мы имеем ту же ошибку, что и раньше, даже если я просто установил неопределенное. – Jonor 14 August 2018 в 10:43

Другие вопросы по тегам:

Похожие вопросы: