String.prototype.slice()

Метод slice() вирізає частину рядка та повертає її як новий рядок, не змінюючи початковий.

Синтаксис

str.slice(beginIndex[, endIndex])

Параметри

beginIndex

Індекс на основі нуля, з якого починається копіювання. Якщо індекс від'ємний, він сприймається як str.length + beginIndex. (Наприклад, якщо beginIndex дорівнює -3, він сприймається як str.length - 3.)

Якщо значення beginIndex більше за довжину рядка str.length або дорівнює їй, slice() повертає порожній рядок.

endIndex Optional

Індекс на основі нуля, до якого треба виконувати копіювання. Символ за цим індексом не буде включений.

Якщо endIndex відсутній, slice() копіює до кінця рядка. Якщо його значення від'ємне, він сприймається як str.length + endIndex. (Наприклад, якщо endIndex дорівнює -3, він сприймається як str.length - 3.)

Значення, що повертається

Новий рядок, що містить вказану частину рядка.

Опис

Метод slice() дістає текст з одного рядка та повертає новий рядок. Зміни у тексті одного з рядків не впливають на інший рядок.

slice() скопіює текст по індекс endIndex (але не включно). str.slice(1,4) копіює з другого по четвертий символ (символи за індексами 1, 2, та 3).

Наприклад, str.slice(2, -1) копіює частину від третього до другого з кінця символу рядка.

Приклади

Використання slice() для створення нового рядка

Наступний приклад використовує slice(), щоб створити новий рядок.

let str1 = "П'ять мавпенят стрибали на столі", // довжина str1 дорівнює 32.
    str2 = str1.slice(1, 8),
    str3 = str1.slice(6, -2),
    str4 = str1.slice(15),
    str5 = str1.slice(32);
console.log(str2)  // РЕЗУЛЬТАТ: 'ять ма
console.log(str3)  // РЕЗУЛЬТАТ: мавпенят стрибали на сто
console.log(str4)  // РЕЗУЛЬТАТ: стрибали на столі
console.log(str5)  // РЕЗУЛЬТАТ: ""

Використання slice() з від'ємними індексами

Наступний приклад використовує slice() з від'ємними індексами.

let str = "П'ять мавпенят стрибали на столі."
str.slice(-6)      // вертає "столі."
str.slice(-6, -1)  // вертає "столі"
str.slice(0, -1)   // вертає "П'ять мавпенят стрибали на столі"

Цей приклад відраховує у зворотньому напрямку, від кінця рядка, 12, щоб знайти початковий індекс, та вперед з початку рядка 25, щоб знайти кінцевий індекс.

console.log(str.slice(-12, 25)) // => "ли н"

Тут він рахує вперед від початку 21, щоб знайти початковий індекс, і у зворотньому напрямку з кінця 8, щоб знайти кінцевий індекс.

console.log(str.slice(21, -8)) // => "ли н"

Ці аргументи відраховують у зворотньому напрямку з кінця 5, щоб знайти початковий індекс, та у зворотньому напрямку з кінця 1, щоб знайти кінцевий індекс.

console.log(str.slice(-5, -1)) // => "толі"

Специфікації

Специфікація
ECMAScript (ECMA-262)
The definition of 'String.prototype.slice' in that specification.

Сумісність з веб-переглядачами

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
sliceChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 4Opera Full support 4Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100

Legend

Full support  
Full support

Див. також