String.prototype.slice()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Сводка
Метод slice()
извлекает часть строки и возвращает новую строку без изменения оригинальной строки.
Интерактивный пример
Синтаксис
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); // вернёт 'утро'
Спецификации
Specification |
---|
ECMAScript Language Specification # sec-string.prototype.slice |
Совместимость с браузерами
BCD tables only load in the browser