Метод slice возвращает возвращает подстроку из строки (исходная строка при этом не изменяется).

Первым параметром указывается номер символа строки, с которого начинается вырезание, а вторым параметром - номер символа, на котором закончится вырезание (при этом символ с этим номером не включится в вырезанную часть).

Второй параметр не является обязательным. Если его не указать - подстрока возьмется с указанного в первом параметре символа до конца строки.

Второй параметр также может принимать отрицательные значения. В этом случае отсчет символа, на котором закончится обрезание, начинается с конца строки. Причем последний символ имеет номер "-1", предпоследний - "-2" и так далее.

К примеру, если написать slice(1, -1), то вырезанная часть возьмется с первого символа включительно по последний не включая его. Если вам нужно включить и последний символ - нужно просто не задавать второй параметр для slice, вот так: slice(1).

Если второй параметр меньше первого - возвратится пустая строка.

См. также методы substr и substring, которые также возвращают часть подстроки.

Синтаксис

строка.slice(откуда отрезать, [докуда отрезать]);

Примеры

Пример

В данном примере вырезаются слова 'Мне очень'. Первая буква этой подстроки имеет номер 0, а последняя - номер 8. Значит, указываем, что мы будем резать с нулевого символа по 9-тый (на 1 больше, чем нам нужно):

var str = 'Мне очень нравится JavaScript';
document.write(str.substr(0, 9));

Результат выполнения кода:

Мне очень

Пример

В данном примере подстрока вырезается с 4-той позиции и до конца строки (так как последний параметр не задан):

var str = 'Мне очень нравится JavaScript';
document.write(str.substr(4));

Результат выполнения кода:

очень нравится JavaScript

Пример

В данном примере из исходной строки извлекаются символы от позиции 0 до позиции -1 не включительно (-1 указывает на последний символ и он не включится в извлеченную часть):

var str = '12345';
document.write(str.slice(0, -1));

Результат выполнения кода:

1234

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