Bug #067
🪲 Znajdź buga
console.log("".split(" "))
console.log("".split(""))
Jakie wartości zostaną zalogowane do konsoli?
🧪 Rozwiązanie
console.log("".split(" ")) // [""]
console.log("".split("")) // []
Metoda split()
dzieli ciąg znaków formując tablicę z fragmentami ciągów znaków.
Podział zostaje wykonany na podstawie wartości rozdzielacza, przekazanego jako argument metody.
Przykładowo, "a b c".split(" ")
, podzieli ciąg znaków "a b c"
używając białego znaku spacji jako rozdzielacza.
Uformowana zostanie tablica ["a", "b", "c"]
.
"".split(" ")
zwraca tablicę z jednym elementem pustego ciągu znaków [""]
.
Mimo, że nie ma czego dzielić (pusty ciąg znaków), przekazanie rozdzielacza powoduje, że następuje podział, którego efektem jest pusty ciąg znaków.
W przypadku próby podziału pustego ciągu znaków, element rozdzielacza jest nieistotny, zawsze wygeneruje tablicę z jednym elementem pustego ciągi znaków.
"".split("?")
, "".split("asd")
, "".split("-")
, bez znaczenia, zawsze zwróci [""]
.
Z kolei "".split("")
to próba podzielenia pustego ciągu znaków za pomocą pustego znaku rozdzielacza.
Jest to jedyna sytuacja, w której w efekcie działania metody split()
, zostaje zwrócona pusta tablica.
🎢 Plac zabaw
Otwórz edytor w nowym oknie📑 Linki
❤️ Podobają Ci się bugi JS?
Podziel się linkiem ze znajomymi:
https://codisity.pl/100-bugow-js