@Nikita_Migushev

Почему возникают пустые элементы при методе split()?

На codewars есть задание, где нужно выявить слова песни, разделяя по буквосочетанию "WUB".

let song = "WUBWEWUBAREWUBWUBTHEWUBCHAMPIONSWUBMYWUBFRIENDWUB"
song = song.split("WUB");
console.log(song);


Не понимаю, по какой причине образуются пустые элементы "". По какой логике они возникают?

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

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект