Интеллектуальный поиск соответствует элементам массива без учета регистра, не отображается при неправильном регистре - PullRequest
0 голосов
/ 20 декабря 2018

Я знаю по названию, что это звучит странно, но я ищу в массиве с помощью метода прогнозного поиска, и когда я ввожу буквы (str), регистр не имеет значения (когда я ввожу 'b', он находит оба«b» и «B» для «медведей» и отображает их в списке, так что я знаю, что это работает .... но когда у меня нет правильного регистра, он не выделяет текст желтым цветом.Я набираю «B», он выделяет «B» в списке для «медведей» .... но когда набирает «b», он показывает «B» для «медведей» в списке, но не выделяет его.

    var strArray = ["Bears", "Giraffes", "Donkeys", "Monkeys"];
  for (var j=0; j<strArray.length; j++) {
    if (strArray[j].toLowerCase().match(str.toLowerCase()) && $return.length < 8) {
      var $h = strArray[j].replace(str, '<span class="prediction-text">'+str+'</span>');
      $return.push('<li class="prediction-item">' + $h + '</li>');
    }
  }
}

Имеет ли это смысл? Я знаю, что я не слишком далеко. Я попытался изменить свой массив на нижний регистр, но когда он отображается в прогнозирующем раскрывающемся списке, он в нижнем регистре, и я не хочу, чтобы....

Я знаю, что это как-то связано со строкой:

if (strArray[j].toLowerCase().match(str.toLowerCase()) && $return.length < 8) {

и, возможно, с этим нужно что-то делать.

Спасибо запомогите всем. Вы все удивительны, и я очень ценю это.

...