Я пытаюсь изменить представление таблицы в соответствии с тем, что записывается в поле ввода.
Например
если я введу в поле ввода букву А,
я хочу, чтобы таблица показывала все объекты в этом массиве, имена которых начинаются с буквы А.
после этого, если я продолжу печатать другую букву, которая B
я хочу показать таблицу
чьи имена начинаются с буквы А и В.
Я использую угловую 5 мысль.
Просто чтобы подтвердить, я смог сделать это, выполнив несколько операторов if, но это не очень хорошо, потому что давайте предположим, что длина поля ввода, которое я хочу все время проверять, составляет 20 символов, так что не умный, чтобы сделать 20 если заявления ... вот почему мне нужна помощь в этом вопросе на самом деле.
Посмотри пожалуйста мой код.
const tempArray = [];
let desserts2;
for (let i = 0 ; i < this.desserts.length; i++ ) {
if ( state.charAt(this.counter) ===
this.desserts[i].name.charAt(this.counter) ) {
tempArray.push(this.desserts[i]);
desserts2 = tempArray;
this.sortedData = desserts2.slice();
this.showClearImage = true;
this.placeholderText = '';
}
}
tempArray.length = 0 ;
for (let i = 0 ; i < this.desserts.length; i++ ) {
if (
state.charAt(this.counter + 1 ) ===
this.desserts[i].name.charAt(this.counter + 1 ) &&
state.charAt(this.counter) ===
this.desserts[i].name.charAt(this.counter)
) {
tempArray.push(this.desserts[i]);
desserts2 = tempArray;
this.sortedData = desserts2.slice();
this.showClearImage = true;
this.placeholderText = '';
}
}
tempArray.length = 0 ;
for (let i = 0 ; i < this.desserts.length; i++ ) {
if (
state.charAt(this.counter + 2 ) ===
this.desserts[i].name.charAt(this.counter + 2 ) &&
state.charAt(this.counter + 1 ) ===
this.desserts[i].name.charAt(this.counter + 1 ) &&
state.charAt(this.counter) ===
this.desserts[i].name.charAt(this.counter)
) {
tempArray.push(this.desserts[i]);
desserts2 = tempArray;
this.sortedData = desserts2.slice();
this.showClearImage = true;
this.placeholderText = '';
}
}
tempArray.length = 0 ;
for (let i = 0 ; i < this.desserts.length; i++ ) {
if (
state.charAt(this.counter + 3 ) ===
this.desserts[i].name.charAt(this.counter + 3 ) &&
state.charAt(this.counter + 2 ) ===
this.desserts[i].name.charAt(this.counter + 2 ) &&
state.charAt(this.counter + 1 ) ===
this.desserts[i].name.charAt(this.counter + 1 ) &&
state.charAt(this.counter) ===
this.desserts[i].name.charAt(this.counter)
) {
tempArray.push(this.desserts[i]);
desserts2 = tempArray;
this.sortedData = desserts2.slice();
this.showClearImage = true;
this.placeholderText = '';
}
}