Що робить 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
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.