В вашем коде есть опечатка, которую вы ищете fname, mname, lname, но вы подключаете свою строку fname+lname+mname
, но lname должна быть на последней позиции, поэтому измените
(row[property].fname + row[property].lname + row[property].mname)
.toString()
.toLowerCase()
.indexOf(val) !== -1;
на
(row[property].fname + row[property].mname + row[property].lname)
.toString()
.toLowerCase()
.indexOf(val) !== -1;
Также, если вы хотите выполнить поиск, условия могут быть более простыми, если вы здесь не используете триноратор. Exmp
row[property].fname.toString()
.toLowerCase().includes(val)
|| row[property].mname.toString()
.toLowerCase().includes(val)|| row[property].lname
.toString().toLowerCase().includes(val) || (row[property].fname + row[property].mname + row[property].lname)
.toString()
.toLowerCase()
.includes(val);
Как указывал @Sangram Нандхайл, рассмотрим расстояние между fname, mname и lname. Ваше состояние должно быть
(row[property].fname +' '+ row[property].mname +' ' row[property].lname)
Демо