Wyszukiwanie stringa w tablicy stringów

Wyszukiwanie stringa w tablicy stringów
LU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 289
0

Witajcie.
Jestem raczkujący w JS. Mam małe pytanie o JS.:)

Mam taki kod:

Kopiuj

var citiesArray = ["Bukowno Warszawa", "Dabrowka Warszawska", "Kolonia Warszawska", "Przedmiéscie Warszawskie", "Warszawa", "Warszawice"] 

if (citiesArray.indexOf(cityName) == '-1') {
  console.log('ok');
} else{
  console.log('error');
}

Kiedy cityName = "Bukowno Warszawa" lub cityName = "Warszawa" wszystko działa. Mam problem kiedy cityName = "bukowno warszawa" lub cityName = "warszawa".

citiesArray - generowane jest z php.

W jaki sposób można to naprawić? :)

Z góry dziękuję za pomoc

CR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 113
1

Jeżeli dane w tablicy są w spójnym formacie (tzn. zawsze słowo z wielkiej litery, a reszta małych), to po prostu przed sprawdzeniem, czy tablica zawiera takiego Stringa, przerób go na właściwy format.
Np. if (citiesArray.indexOf(format(cityName)) == '-1'), gdzie 'format' to nazwa funkcji, której użyjesz do właściwego sformatowania Stringa, i którą wierzę, że dasz radę napisać sam :)

serek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1506
2

Po prostu znormalizuj dane do postaci tylko małych liter. Tyczy się to zarówno danych w tablicy, jak i porównywanego stringa.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.