Skip to main content

Що робить Array.from()?

Метод 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() - це потужний і гнучкий спосіб створити масив з чого завгодно, що можна "перебрати", і за потреби перетворити елементи прямо під час створення.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.