JavaScript: строка поиска с учетом порядка букв - PullRequest
0 голосов
/ 25 февраля 2020

это мой первый пост в stackOverflow (не будьте монстрами, пожалуйста, хе-хе). Я ищу советы или советы для функции для панели поиска. Я уже использовал это:

    for (i = 0; i < taskButton.length; i++) {
    //if there is a match 
        if (tasks[i].toUpperCase().indexOf(filter) > -1) {
        //display the match
          taskButton[i].style.display = "";
        } else {
          //hide the mismatch
          taskButton[i].style.display = "none";
        }
    }

Но с indexOf, есть пробел в строке, например, он покажет все строки с пробелом. Я хочу улучшить эту функцию поиска, учитывая порядок каждой буквы. Спасибо за заранее, ребята!

1 Ответ

0 голосов
/ 25 февраля 2020

Используйте startsWith вместо indexOf:

for (let i = 0; i < taskButton.length; i++) {
  taskButton[i].style.display = tasks[i].toUpperCase().startsWith(filter)
    ? ''
    : 'none';
}

Вы можете использовать условный оператор, чтобы сделать код более кратким, как указано выше, а также обязательно объявить переменную i - если вы не объявляете переменную, вы неявно присваиваете глобальному объекту (который является грязным) или , если вы находитесь в строгом режиме, будет выдано сообщение об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...