Wpis z mikrobloga

@thorin87: mnie nigdy nie przestanie zadziwiać, że jeśli element istnieje w tablicy to indexOf zwraca 0 (fałsz), a -1 gdy nie ma w tablicy.

var array = [26,41];
array.indexOf(26);
  • Odpowiedz
@hakeryk2: Przecież w tym przykładzie indexOf nie zwraca 0 dlatego, że element znajduje się w tablicy tylko dlatego, że znajduje się na zerowym indeksie...
  • Odpowiedz
@thorin87: Jeśli natomiast chodzi o ten przykład to działa to chyba w następujący sposób:
a) [] == true //false - próba porównania wartości sprawia, że [] jest przekształcana na pusty string, który z definicji jest wartością nieprawdziwą.
b) Sama tablica w sobie jest wartością prawdziwą, więc sprawdzając to za pomocą warunku wszystko wykonuje się zgodnie z zamierzeniem.
  • Odpowiedz
@fistasheq: @Verijon: jak najbardziej o includes słyszałem i jeśli tylko jest możliwość to używam (chyba że trafi się grzebanie w jakimś legacy szambie na IE bez żadnych transpilerów), to takie bardziej teoretyczne rozważania w kontekście tego że indexOf zwraca -1 :)
  • Odpowiedz