Почему возникают пустые элементы при методе split()?
Так понятнее?let song = ",WE,ARE,,THE,CHAMPIONS,MY,FRIEND,"
song = song.split(",");
Попытаюсь объяснить как работает. Итак: возьмем и представим строку как последовательность символов |-|-||-|-|-|-|, | - это наш разделитель. Алгоритм идет слева направо, таким образом, когда он найдет первый элемент, в итоговый массив он положит всё, что левее этого символа, то есть пустую строку. Но тогда почему между слов встречается всего 1 «разрыв»? Это возникает из-за того, что разделитель встречается дважды. С последним элементом происходит схожий алгоритм действий, что и с первым, только в данном случае, в итоговый массив попадет оставшаяся правая часть.