js как сравнить первую половину слова, которое ввёл пользователь в окошке ввода на сайте с первой половиной слов из массива

И если найдено совпадение, вывести "Найдено". Без учета регистра.

Например, пользователь водит "милый", Берем целую часть от деления на 2

Слова в массиве "милая,миленький, солнце"

В итоге программа должна найти совпадение слов милый и милая

Т.к милый/2=ми милая/2=ми, но миленький/2=миле


Ответы (1 шт):

Автор решения: frozencoast

Если верно вас понял, то вот решение:

let input = document.getElementsByTagName("INPUT")[0];
let p = document.getElementsByTagName("P")[0]
let words = ["милая", "миленький", "солнце"];

input.addEventListener('input', function() {
  p.innerHTML = '';
  if (this.value.length > 1) {
    let part = getPart(this.value);
    for (let i in words) {
      if (part == getPart(words[i])) {
        p.innerHTML = 'Найдено';
        break;
      }
    }
  }
});

function getPart(val) {
  return val.substring(0, Math.floor(val.length / 2)).toLowerCase();
}
<input type="text" />
<p></p>

→ Ссылка