Статический метод JavaScript Array.from () создает неглубоко скопированный экземпляр Array из объекта, подобного массиву или повторяемого объекта.
Синтаксис from()
метода:
Array.from(arraylike, mapFunc, thisArg)
Этот from()
статический метод вызывается по имени Array
класса.
from () Параметры
from()
Метод принимает в:
- arrayylike - Подобный массиву или повторяемый объект для преобразования в массив.
- mapFunc (необязательно) - функция карты, вызываемая для каждого элемента.
- thisArg (необязательно) - значение, которое будет использоваться как this при выполнении mapFunc.
Примечание : Array.from(obj, mapFunc, thisArg)
эквивалентно Array.from(obj).map(mapFunc, thisArg)
.
Возвращаемое значение из from ()
- Возвращает новый
Array
экземпляр.
Примечание . Этот метод может создать массив из:
Array
-подобные объекты - объекты, которые имеют свойство длины и имеют индексированные элементы, такие как строки.- Итерируемые объекты, такие как Map или Set.
Пример 1: Использование метода from ()
// Array from String let arr1 = Array.from("abc"); console.log(arr1); // ( 'a', 'b', 'c' ) // Array from Map let mapper = new Map(( ("1", "a"), ("2", "b"), )); let arr2 = Array.from(mapper); console.log(arr2); // ( ( '1', 'a' ), ( '2', 'b' ) ) let arr3 = Array.from(mapper.keys()); console.log(arr3); // ( '1', '2' ) // Array from Set let set = new Set(("JavaScript", "Python", "Go")); let arr4 = Array.from(set); console.log(arr4); // ( 'JavaScript', 'Python', 'Go' )
Вывод
('a', 'b', 'c') (('1', 'a'), ('2', 'b')) ('1', '2') ('JavaScript', 'Python ', 'Идти' )
Это работает и для других повторяемых объектов.
Пример 2: Использование метода from () с mapFunc
function createArr(arraylike, mapFunc) ( return Array.from(arraylike, mapFunc); ) // using arrow function for mapFunc let arr1 = createArr("123456", (x) => 2 * x); console.log(arr1); // ( 2, 4, 6, 8, 10, 12 )
Вывод
(2, 4, 6, 8, 10, 12)
Рекомендуемая литература: JavaScript Array map ()