JavaScript | Как удалить последний символ в строке?

Есть строка:

var stroka = "Subaru/"

Нам нужно удалить из этой строки последний символ косой линии «/».

 

Решение

Воспользуемся методом slice() объекта -прототипа String.

String.prototype.slice ( start, end )

Метод slice принимает два аргумента, start и end, и возвращает подстроку результата преобразования этого объекта в String, начиная с начала индекса start и до конца индекса end, но не включая его (или до конца String, если end является undefined). Если start отрицательный, он обрабатывается как sourceLength + start, где sourceLength — длина строки. Если end отрицательный, он обрабатывается как sourceLength + end, где sourceLength — длина строки. Результатом является значение String, а не объект String.

stroka.slice(0, -1)

Мы передали два параметра в метод slice(). В первый параметр start мы передали «0» — это индекс первого элемента строки с которого мы начнём «кусочничать». Во второй параметр end мы передали «-1«.

Удалили последний элемент из строки - JavaScript
Удалили последний элемент из строки — JavaScript

Т.к. второй параметр end отрицательный, то применилось правило (sourceLength + end). В нашем случае (stroka.length + (-1)). Это (7 — 1) = 6. Таким образом мы отбросили последний символ в строке.

Символ косой линии на конце строки - JavaScript
Символ косой линии на конце строки — JavaScript

Под индексом 6 у нас находится косая линия, но мы её не включим в итоговую строку. Индекс 6 не попадёт в итоговый результат по правилу работы метода slice().

ВАЖНО! Метод slice() возвращает новую строку. Это значит, что оригинальная строка на которой вызывается метод slice() не изменяется.

Свой метод

Можно расширить стандартный набор методов языка JavaScript для объектов-прототипов String и написать свой собственный.

String.prototype.delOneLast = function () {
   return this.slice(0, -1)
}

Теперь можно протестировать вызов метода delOneLast() на разных строках:

Свой метод delOneLast для строк - JavaScript
Свой метод delOneLast для строк — JavaScript

 

Информационные ссылки

JavaScript | Как удалить первый символ в строке?

JavaScript | Строки (String)

Официальная страница стандарта ECMAScript — Объект Stringhttps://tc39.es/ecma262/#sec-string-objects

Метод slice()https://tc39.es/ecma262/#sec-string.prototype.slice

Поделись записью