Виталий Котов
Как работает метод from() - JavaScript
Метод from()
создаёт новый массив из массивоподобного или итерируемого объекта.
Пример
// создание нового массива из строки
let newArray = Array.from("abc");
console.log(newArray);
// Вывод в консоль:
// [ 'a', 'b', 'c' ]
Синтаксис from()
Синтаксис метода from()
следующий:
Array.from(arraylike, mapFunc, thisArg);
Метод from()
, будучи статическим методом, вызывается с использованием имени класса Array
.
Параметры from()
Метод from()
принимает:
arraylike
- массивоподобный или итерируемый объект для преобразования в массив.
mapFunc
(необязательно) - функцияmap
, которая вызывается для каждого элемента.thisArg
(необязательный) - значение, которое будет использоваться в качествеthis
при вызовеmapFunc
.
Примечание:
Array.from(obj, mapFunc, thisArg)
эквивалентенArray.from(obj).map(mapFunc, thisArg)
.
Возвращаемое значение from()
Возвращает новый экземпляр Array
Примечание: Этот метод может создавать массив из:
- Объектов типа
array
- объектов, которые имеют свойство
length
и имеют индексированные элементы типаString
.- Итерируемых объектов, таких как
Map
илиSet
.
Примеры
Пример 1: Метод from() с массивоподобными объектами
// создаём массив из строки
let array1 = Array.from("JavaScript");
console.log(array1);
Вывод в консоль:
['J', 'a', 'v', 'a', 'S', 'c', 'r', 'i', 'p', 't']
В приведенном выше примере мы использовали метод from()
для создания нового массива из строки 'JavaScript'
.
Мы вызвали метод с помощью класса Array
как Array.from("JavaScript")
. Метод возвращает новый массив ['J', 'a', 'v', 'a', 'S', 'c', 'r', 'i', 'p', 't']
и присваивает его массиву array1
.
Пример 2: Метод from() с map функцией
// функция, которая возвращает новый массив
function createArray(arraylike, mapFunc) {
return Array.from(arraylike, mapFunc);
}
// используем стрелочную функцию для mapFunc
let result = createArray([2, 4, 6], (element) => element + 2);
console.log(result);
Вывод в консоль:
[ 4, 6, 8 ]
В приведенном выше примере мы передали map функцию в метод from()
, которая увеличивает каждый элемент созданного массива на 2.
Пример 3: Метод from() со множеством
// объявляем множество
let set = new Set(["JavaScript", "Python", "Go", "Python"]);
// создаём массив из заданного множества
let result = Array.from(set);
console.log(result);
Вывод в консоль:
[ 'JavaScript', 'Python', 'Go' ]
Здесь мы создали новый массив с помощью метода from()
с итеративным объектом Set
.
Карта развития разработчика
Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile