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.

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

BCD tables only load in the browser

Див. також