Я создаю панель поиска, которая фильтрует массив с французскими названиями городов, которые соответствуют входному значению каждого ключа.Я получаю некоторые результаты обратно (используя журнал консоли), но результаты не соответствуют ожиданиям, и условие IF, которое я использую, похоже, не работает ...
Основано на JavaScript и немногоjQuery, чтобы получить мой список городов из текстового файла, я пытался использовать функции indexOf
и match
, но использование slice()
, кажется, дало мне больше всего.Я что-то упускаю, чтобы вставить совпадающие результаты в новую переменную / массив.
var cityArray = [];
$.get("liste.txt", function (data) {
cityArray = data.split("\n").sort();
console.log(cityArray);
});
$("#myInput").keyup(function () {
var searchedWord = $(this).val();
var counter = searchedWord.length;
var result = [];
console.log(searchedWord);
// console.log(typeof searchedWord);
// console.log(counter);
var matchedCities = 0;
if (counter < 3) {
return;
}
for (var i = 0; i < 100; i++) {
var city = cityArray.slice(0, cityArray.length);
console.log(city[i].slice(0, searchedWord.length));
if (city[i].slice(0, searchedWord.length) == searchedWord) {
result.push(city[i]);
console.log(result);
matchedCities++;
console.log(matchedCities);
if (matchedCities > 5) {
break;
}
}
}
});
Поэтому я ожидаю увидеть совпадающие города с вводом в журнале консоли.НО, кажется, функция до этого ломалась, поскольку переменные result
и matchedCities
, похоже, не меняются, даже когда я знаю, что набрал город, который находится в списке.