Я пытаюсь использовать фильтр в JavaScript для поиска в массиве.Вот мой массив: -
"customerStatusInfoList": [
{
"customerId": 1110000012,
"caseStatus": "pending",
"customerName": "Robert",
"dateOfRequest": "2018-12-15 00:00:00.0"
},
{
"customerId": 1110000004,
"auditorName": "DcbAdmin",
"caseStatus": "pending",
"customerName": "Sam",
"dateOfRequest": "2018-12-14 12:40:04.0"
}
]
И я использую следующую функцию для фильтрации массива: -
filterTable = event => {
console.log("event.target.value", event.target.value);
console.log("rows", this.state.rows);
if (event.target.value !== "") {
let newRow = this.state.rows.filter(items => {
console.log("item.name", items.customerName);
if (items.customerName!== null)
return items.customerName
.toLowerCase()
.includes(event.target.value.toLowerCase());
});
this.setState({ rows: newRow, query: event.target.value });
} else {
console.log("Query string is empty ", event.target.value);
let newRow = this.state.custList;
console.log("new row :", newRow);
this.setState({ query: event.target.value, rows: newRow });
}
};
Я могу фильтровать по customerName, но когда я пытаюсьфильтр с использованием customerId или любого другого параметра, который я получаю customerId.includes, не является функцией.Но это работает на customerName.Как я могу отфильтровать всю таблицу, используя фильтр JavaScript?Любая помощь или предложение приветствуется.Спасибо.