JS метод Array.slice()
Опис
Метод slice() дозволяє створити поверхневу копію обраної частини масиву в новому об'єкті масиву. Ця копія формується на основі початкового та кінцевого індексів, при чому кінцевий індекс в результат не включається. Цінність методу полягає в тому, що оригінальний масив при цьому залишається незміненим.
slice() зберігає порожні місця в масиві. Тобто, якщо частина масиву, що копіюється, містить порожні слоти, то новий масив також буде мати ці порожні місця.
Приклад використання методу slice():
let fruits = ["apple", "banana", "cherry", "date"];
let selectedFruits = fruits.slice(1, 3);
console.log(selectedFruits); // Output: ["banana", "cherry"]
console.log(fruits); // Output: ["apple", "banana", "cherry", "date"]
У цьому прикладі, метод slice() копіює частину масиву з першого по третій елементи (не включаючи третій). Оригінальний масив fruits залишається незміненим.
- Порада
-
Якщо ви не вказуєте аргументи
автор: Bondslice(), він поверне повний копію вихідного масиву. Це може бути корисно, коли вам потрібно створити незалежну копію масиву для подальшої обробки без зміни вихідного масиву. - Порада
-
Метод
автор: Bondslice()не змінює вихідний масив, а повертає новий масив. Це означає, що ви можете безпечно використовуватиslice()для отримання підрядка масиву без впливу на початковий масив. - Порада
-
Якщо вам потрібно скопіювати весь масив або створити його повну копію, ви можете використати slice() без аргументів. Наприклад:
let originalArray = [1, 2, 3, 4, 5]; let copiedArray = originalArray.slice(); console.log(copiedArray); // Виведе: [1, 2, 3, 4, 5]Таким чином, ви отримаєте новий масив, який містить ті самі елементи, що й початковий масив. Це особливо корисно, якщо ви плануєте внести зміни до скопійованого масиву без впливу на початковий.
автор: Bond - Порада
-
За допомогою методу
slice()ви можете вирізати підрядок масиву з визначених індексів. Наприклад, якщо вам потрібні лише певні елементи масиву з індексу 2 по індекс 5 (не включаючи його), ви можете використати:let originalArray = [1, 2, 3, 4, 5, 6, 7, 8, 9]; let subArray = originalArray.slice(2, 5); console.log(subArray); // Виведе: [3, 4, 5]В результаті отримаєте новий масив, що містить елементи з індексу 2 до індексу 5 (не включаючи його) з початкового масиву.
автор: Bond - Нотатка
-
Метод
автор: Bondslice()є універсальним та передбачає наявність в об'єкті властивостіlengthта інших властивостей із цілими числами як індексами.
Синтаксис
slice()
slice(start)
slice(start, end)
Параметри
start-
Початковий індекс, з якого відбувається вибірка. Перетворюється на ціле число.
- Негативний індекс відлічується від кінця масиву - якщо
start < 0, використовуєтьсяstart + array.length. - Якщо
start < -array.lengthабоstartне вказано, використовується 0. - Якщо
start >= array.length, нічого не копіюється.
- Негативний індекс відлічується від кінця масиву - якщо
end-
Кінцевий індекс, до якого проводиться вибірка.Перетворюється на ціле число. Метод
slice()вибирає елементи до, але не включаючи, цей кінцевий індекс.- Негативний індекс відлічується від кінця масиву - якщо
end < 0, використовуєтьсяend + array.length. - Якщо
end < -array.length, використовується 0. - Якщо
end >= array.lengthабоendне вказано, використовуєтьсяarray.length, що призводить до копіювання всіх елементів до кінця. - Якщо
endрозташовано передstartабо на рівніstartпісля нормалізації, нічого не копіюється.
- Негативний індекс відлічується від кінця масиву - якщо
Повернення
array-
Новий масив, що містить видобуті елементи.
автор: Bond
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
| 1 | 1 | 1 | 4 | 12 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 4 | 1 |
| Переглядач | ||
|---|---|---|
| 0.10.0 | 1.0 |
Приклади
+ запропонувати свій приклад у пісочниці
Повернення частини масиву.
const fruits = ["Банан", "Апельсин", "Лимон", "Яблуко", "Манго"];
const citrus = fruits.slice(1, 3);
// масив fruits містить ['Банан', 'Апельсин', 'Лимон', 'Яблуко', 'Манго']
// масив citrus містить ['Апельсин', 'Лимон']
Виклик методу slice() на об'єктах, що не є масивами.
const arrayLike = {
length: 3,
0: 2,
1: 3,
2: 4,
3: 33, // ігнорується slice(), оскільки length дорівнює 3
};
console.log(Array.prototype.slice.call(arrayLike, 1, 3));
// [ 3, 4 ]
Використання slice() на розріджених масивах.
console.log([1, 2, , 4, 5].slice(1, 4)); // [2, empty, 4]
Цей приклад демонструє, як метод slice() може бути використаний для створення нового масиву з частини існуючого масиву, а також як використовувати filter() в поєднанні з slice() для вилучення об'єктів за властивостями.
Коментарі
Коментарів ще немає — будьте першим!