1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
---
title: String.prototype.slice()
slug: Web/JavaScript/Reference/Global_Objects/String/slice
tags:
- JavaScript
- String
- метод
- рядок
translation_of: Web/JavaScript/Reference/Global_Objects/String/slice
---
<div>{{JSRef}}</div>
<p>Метод <strong><code>slice()</code></strong> вирізає частину рядка та повертає її як новий рядок, не змінюючи початковий.</p>
<div>{{EmbedInteractiveExample("pages/js/string-slice.html", "taller")}}</div>
<h2 id="Синтаксис">Синтаксис</h2>
<pre class="syntaxbox"><var>str</var>.slice(<var>beginIndex</var>[, <var>endIndex</var>])</pre>
<h3 id="Параметри">Параметри</h3>
<dl>
<dt><code><var>beginIndex</var></code></dt>
<dd>
<p>Індекс на основі нуля, з якого починається копіювання. Якщо індекс від'ємний, він сприймається як <code><var>str</var>.length + <var>beginIndex</var></code>. (Наприклад, якщо <code><var>beginIndex</var></code> дорівнює <code>-3</code>, він сприймається як <code><var>str</var>.length - 3</code>.)</p>
<p>Якщо значення <em><code>beginIndex</code></em> більше за довжину рядка <code><em>str</em>.length</code> або дорівнює їй, <code>slice()</code> повертає порожній рядок.</p>
</dd>
<dt><code><var>endIndex</var></code> {{optional_inline}}</dt>
<dd>
<p>Індекс на основі нуля, <em>до</em> якого треба виконувати копіювання. Символ за цим індексом не буде включений.</p>
<p>Якщо <code><var>endIndex</var></code> відсутній, <code>slice()</code> копіює до кінця рядка. Якщо його значення від'ємне, він сприймається як <code><var>str</var>.length + <var>endIndex</var></code>. (Наприклад, якщо <code><var>endIndex</var></code> дорівнює <code>-3</code>, він сприймається як <code><var>str</var>.length - 3</code>.)</p>
</dd>
</dl>
<h3 id="Значення_що_повертається">Значення, що повертається</h3>
<p>Новий рядок, що містить вказану частину рядка.</p>
<h2 id="Опис">Опис</h2>
<p>Метод <code>slice()</code> дістає текст з одного рядка та повертає новий рядок. Зміни у тексті одного з рядків не впливають на інший рядок.</p>
<p><code>slice()</code> скопіює текст по індекс <code><var>endIndex</var></code><var> </var>(але не включно). <code>str.slice(1,4)</code> копіює з другого по четвертий символ (символи за індексами <code>1</code>, <code>2</code>, та <code>3</code>).</p>
<p>Наприклад, <code><var>str</var>.slice(2, -1)</code> копіює частину від третього до другого з кінця символу рядка.</p>
<h2 id="Приклади">Приклади</h2>
<h3 id="Використання_slice_для_створення_нового_рядка">Використання <code>slice()</code> для створення нового рядка</h3>
<p>Наступний приклад використовує <code>slice()</code>, щоб створити новий рядок.</p>
<pre class="brush: js">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) // РЕЗУЛЬТАТ: ""</pre>
<h3 id="Використання_slice_з_відємними_індексами">Використання <code>slice()</code> з від'ємними індексами</h3>
<p>Наступний приклад використовує <code>slice()</code> з від'ємними індексами.</p>
<pre class="brush: js">let str = "П'ять мавпенят стрибали на столі."
str.slice(-6) // вертає "столі."
str.slice(-6, -1) // вертає "столі"
str.slice(0, -1) // вертає "П'ять мавпенят стрибали на столі"</pre>
<p>Цей приклад відраховує у зворотньому напрямку, від кінця рядка, <code>12</code>, щоб знайти початковий індекс, та вперед з початку рядка <code>25</code>, щоб знайти кінцевий індекс.</p>
<pre class="brush: js">console.log(str.slice(-12, 25)) // => "ли н"</pre>
<p>Тут він рахує вперед від початку <code>21</code>, щоб знайти початковий індекс, і у зворотньому напрямку з кінця <code>8</code>, щоб знайти кінцевий індекс.</p>
<pre class="brush: js">console.log(str.slice(21, -8)) // => "ли н"</pre>
<p>Ці аргументи відраховують у зворотньому напрямку з кінця <code>5</code>, щоб знайти початковий індекс, та у зворотньому напрямку з кінця <code>1</code>, щоб знайти кінцевий індекс.</p>
<pre class="brush: js">console.log(str.slice(-5, -1)) // => "толі"</pre>
<h2 id="Специфікації">Специфікації</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Специфікація</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('ESDraft', '#sec-string.prototype.slice', 'String.prototype.slice')}}</td>
</tr>
</tbody>
</table>
<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
<p>{{Compat("javascript.builtins.String.slice")}}</p>
<h2 id="Див._також">Див. також</h2>
<ul>
<li>{{jsxref("String.prototype.substr()")}}</li>
<li>{{jsxref("String.prototype.substring()")}}</li>
<li>{{jsxref("Array.prototype.slice()")}}</li>
</ul>
|