Почему, используя .substing, не обрезается все то, что идет после?

Доброго времени суток!
Есть код js
do {
	var str = prompt("Введите строку");
}
while(!str || str == "" || str.indexOf("|") == -1);
if(str.lastIndexOf("|") == (str.length - 1)) {
	str = str.substring(0,str.lastIndexOf("|"));
}
var array = str.split("|");

for(var i = 0; i < array.length; i++) {
	document.write(array[i] + "<br />");
}


Если в prompt ввести "srt1 | str2 | str3" , то он выводит строки как массив, но не понятно, почему он не обрезает все то, что находится после последней "| ", то есть str3

Разве
str.substring(0,str.lastIndexOf("|"));
это не именно так должно работать? То есть мы находим последний "|" и обрезаем его и все то, что находится так же после этого символа.

P.S Пояснение мог задать немного "корявое", заранее извиняюсь.
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
Sivkoff
@Sivkoff
Web Developer
Быть может потому что str.lastIndexOf("|") не равен (str.length - 1)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы