Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що робить copyWithin()?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Метод `copyWithin()` - один з найбільш "недооцінених", але потужних інструментів для роботи з масивами у JavaScript. **Ключове:** він дозволяє скопіювати частину елементів масиву в інше місце всередині цього ж масиву, не змінюючи його довжину.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображенняметод `copyWithin()` - один з найбільш "недооцінених", але потужних інструментів для роботи з масивами у JavaScript. Він дозволяє **скопіювати частину елементів масиву в інше місце всередині цього ж масиву**, **не змінюючи його довжину**. ## Синтаксис: ```javascript arr.copyWithin(target, start, end); ``` | Параметр | Опис | |---|---| | `target` | Індекс, **куди** будуть скопійовані елементи | | `start` | Індекс, **звідки** почати копіювання (включно) | | `end` | Індекс, **де закінчити** (не включаючи цей індекс). Необов'язково. Якщо не вказати - копіює до кінця масиву | ## Приклад 1 - базовий ```javascript const arr = [1, 2, 3, 4, 5]; arr.copyWithin(0, 3); console.log(arr); // [4, 5, 3, 4, 5] ``` Розшифровка: - `target = 0` → вставляємо з позиції 0 - `start = 3` → починаємо копіювати з індексу 3 - копіюємо `[4, 5]` - результат: `[4, 5, 3, 4, 5]` ## Приклад 2 - з start і end ```javascript const arr = [1, 2, 3, 4, 5]; arr.copyWithin(1, 3, 5); console.log(arr); // [1, 4, 5, 4, 5] ``` - Копіюємо елементи `[4, 5]` (від 3 до 5, не включаючи 5) - Вставляємо з позиції `1` ## Приклад 3 - від'ємні індекси ```javascript const arr = [10, 20, 30, 40, 50]; arr.copyWithin(-2, 0, 2); console.log(arr); // [10, 20, 30, 10, 20] ``` - `-2` → означає "вставити починаючи з другого елемента з кінця" - копіюємо `[10, 20]` і вставляємо в кінець. ## Особливості поведінки | Властивість | Опис | |---|---| | Мутує масив | Так | | Повертає | Змінений масив | | Довжина масиву | Не змінюється | | Копіює всередині масиву | Так | | Значення, що повертається | Посилання на той самий масив (`this`) | ## Приклад практичного застосування: Можна використовувати для "зсуву" значень всередині масиву без створення нового: ```javascript const buffer = [1, 2, 3, 4, 5]; buffer.copyWithin(1, 0, 3); console.log(buffer); // [1, 1, 2, 3, 5] ``` ## Коротко: | Що робить | Копіює частину масиву в інше місце всередині нього | |---|---| | Змінює вихідний масив | Так | | Повертає | Сам масив | | Не змінює довжину | Так | | Приклад | `[1,2,3,4,5].copyWithin(0,3)` → `[4,5,3,4,5]` | > **Підсумок:** > `copyWithin()` - це спосіб **перемістити або дублювати** елементи всередині масиву > без створення нового масиву і без зміни довжини.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.