我有一個包含一個簡單的數組荷蘭城市名稱:搜索的數組,而不是唯一的值
var cities = ['Amsterdam', 'Den Haag', 'Den Helder', 'Rotterdam', 'Utrecht', 'Groningen', 'Zoetermeer', 'Zwolle', 'Delft'];
我的代碼通過這個陣列搜索看起來是這樣的:
elems.searchField.on('keyup', function(e) {
var index, city, result;
var currentCity = elems.searchField.val().toLowerCase();
for (index = 0; index < cities.length; ++index) {
city = cities[index].toLowerCase();
if (city.indexOf(currentCity) > -1) {
result = city;
console.log(result);
break;
}
}
});
elems.optionsButton.on('click', function(e) {
if (optionButtonState === 0) {
elems.consoleItemSecondAndThird.css('display', 'flex');
optionButtonState = 1;
} else {
elems.consoleItemSecondAndThird.hide();
optionButtonState = 0;
}
});
你可以看到兩個以「Den」開頭的城市,這些是「Den Haag」和「De Helder」。當我輸入「Den」時,我需要看到它們都列出,但是,我的代碼只查找唯一值,並且只在插入「Den」時顯示「Den Haag」。我怎樣才能讓它顯示包含搜索查詢的所有值?
你得到結果只有一個,因爲你的變量「結果」產生只有一個城市。您可以改爲將其用作數組並繼續for循環。 like'result.push(city);繼續;' – getjackx