String.prototype.slice()
Сводка
Метод slice()
извлекает часть строки и возвращает новую строку без изменения оригинальной строки.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Синтаксис
str.slice(beginIndex[, endIndex])
Параметры
beginIndex
- Индекс, с которого начинать извлечение (нумерация начинается с нуля). Если аргумент отрицателен, то трактуется как
str.length + beginIndex
(например, еслиbeginIndex
равен-3
, то он трактуется какstr.length - 3
). ЕслиbeginIndex
не является числом при проверкеNumber(beginIndex)
, он трактуется как0
. - Если
beginIndex
больше или равенstr.length
, возвращается пустая строка. endIndex
- Индекс, перед которым заканчивать извлечение (нумерация начинается с нуля). Символ по этому индексу не будет включён.
- Если
endIndex
опущен или являетсяundefined
или больше чемstr.length
,slice()
извлечёт всё до конца строки. Если аргумент отрицателен, то трактуется какstr.length + endIndex
(например, еслиendIndex
равен-3
, то он трактуется какstr.length - 3
). Если аргумент неundefined
и не является числом при проверкеNumber(endIndex)
, возвращается пустая строка. - Если
endIndex
указан и меньшеstartIndex
, то возвращается пустая строка (например,slice(-1, -3)
илиslice(3, 1)
вернут""
).
Возвращаемое значение
Новая строка, содержащая извлеченную часть строки.
Описание
Метод slice()
извлекает текст из одной строки и возвращает новую строку. Изменения текста в одной строке не влияют на другую строку.
Метод slice()
извлекает все символы до индекса endIndex
, не включая сам этот индекс. Вызов str.slice(1, 4)
извлечёт символы со второго по четвёртый (символы под индексами 1
, 2
и 3
).
К примеру, вызов str.slice(2, -1)
извлечёт символы с третьего по второй с конца строки.
Примеры
Пример: использование метода slice()
для создания новой строки
В следующем примере метод slice()
используется для создания новой строки.
let str1 = 'Приближается утро.';
let str2 = str1.slice(1, 8);
let str3 = str1.slice(4, -2);
let str4 = str1.slice(12);
let str5 = str1.slice(30);
console.log(str2); // ВЫВОД: риближа
console.log(str3); // ВЫВОД: лижается утр
console.log(str4); // ВЫВОД: утро.
console.log(str5); // ВЫВОД: ""
Пример: использование метода slice()
с отрицательными индексами
В следующем примере метод slice()
используется вместе с отрицательными индексами.
let str = 'Приближается утро.';
str.slice(-3); // вернёт 'ро.'
str.slice(-3, -1); // вернёт 'ро'
str.slice(0, -1); // вернёт 'Приближается утро'
В этом примере начальным индексом считается 11
-й символ с конца строки, а конечным - 16
-й с начала.
str.slice(-11, 16); // вернет 'ается утр'
Здесь начальным индексом считается 6
-й символ от начала строки, а конечным - 7-й с конца.
str.slice(6, -7); // вернет 'жаетс'
В этом примере оба индекса считаются с конца строки: 5-й для начального индекса, 1
-й для конечного.
str.slice(-5, -1); // вернет 'утро'
Спецификации
Спецификация | Статус | Комментарии |
---|---|---|
ECMAScript 3-е издание. | Стандарт | Изначальное определение. Реализована в JavaScript 1.2. |
ECMAScript 5.1 (ECMA-262) Определение 'String.prototype.slice' в этой спецификации. |
Стандарт | |
ECMAScript 2015 (6th Edition, ECMA-262) Определение 'String.prototype.slice' в этой спецификации. |
Стандарт |
Совместимость с браузерами
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) |
Возможность | Android | Chrome для Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) | (Да) |