Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що робить Array.from()?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Метод **`Array.from()`** - універсальний спосіб створити новий масив з ітерованого (наприклад, рядка, `Set`, `Map`) або псевдомасивного (`arguments`, `NodeList`) об'єкта. **Ключове:** він також дозволяє перетворювати елементи на льоту під час створення і завжди повертає новий масив, не змінюючи оригінал.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняМетод `Array.from()` - **універсальний спосіб створити новий масив** з **ітерованого** (наприклад, рядка, `Set`, `Map`) або **псевдомасивного** (`arguments`, `NodeList`) об'єкта. Він також дозволяє **перетворювати елементи на льоту** під час створення. --- ## Синтаксис: ```javascript Array.from(arrayLike, mapFn, thisArg); ``` | Параметр | Опис | |---|---| | `arrayLike` | Ітерований об'єкт (рядок, Set, Map, arguments, NodeList тощо) | | `mapFn` *(необов'язково)* | Функція перетворення кожного елемента | | `thisArg` *(необов'язково)* | Контекст `this` для `mapFn` | --- ## Приклади використання: ### 1. З рядка → масив символів ```javascript const str = "hello"; const arr = Array.from(str); console.log(arr); // ["h", "e", "l", "l", "o"] ``` --- ### 2. З множини (`Set`) ```javascript const set = new Set([1, 2, 3]); const arr = Array.from(set); console.log(arr); // [1, 2, 3] ``` --- ### 3. З псевдомасиву (`arguments`) ```javascript function example() { const args = Array.from(arguments); console.log(args); // [10, 20, 30] } example(10, 20, 30); ``` `arguments` не є справжнім масивом, але `Array.from()` робить з нього звичайний масив. --- ### 4. З перетворенням елементів (через `mapFn`) ```javascript const arr = Array.from([1, 2, 3], x => x * 2); console.log(arr); // [2, 4, 6] ``` Аналог `map()`, вбудований прямо у створення масиву. --- ### 5. З `length` - створення масиву за довжиною ```javascript const arr = Array.from({ length: 5 }, (_, i) => i + 1); console.log(arr); // [1, 2, 3, 4, 5] ``` Дуже зручно для генерації числових послідовностей. --- ## Важливо: - Повертає **новий масив**. - **Не змінює** вихідний об'єкт. - Якщо `arrayLike` не ітерований і не має властивості `length`, буде помилка. --- ## Порівняння з подібними: | Метод | Що робить | |---|---| | `Array.of(1, 2, 3)` | створює масив з аргументів | | `Array.from('abc')` | створює масив з ітерованого об'єкта | | `[...iterable]` | копіює ітерований об'єкт (без функції перетворення) | --- ## Коротко: | Що робить | Створює масив з ітерованого або псевдомасивного об'єкта | |---|---| | Повертає | Новий масив | | Змінює оригінал | Ні | | Є функція перетворення | Так | | Приклад | `Array.from("hi") → ["h","i"]` | --- > **Підсумок:** > `Array.from()` - це потужний і гнучкий спосіб **створити масив** > з чого завгодно, що можна "перебрати", > і за потреби **перетворити** елементи прямо під час створення.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.