Array.from() - JavaScript | MDN
Array.from() 메서드는 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운Array 객체를 만듭니다.
developer.mozilla.org
Array-like 객체 나 iterable 객체를 얉은 복사로 새 Array 객체에 할당하는 메서드
단순하게 Array를 만드는 메서드로 알고있었는데 첫번째 매개변수의 length 속성에 값을 지정해주고 arrow function 을 사용하면 순차 숫자 배열(?) 을 쉽게 만들 수 있다.
example
// Using an arrow function as the map function to
// manipulate the elements
Array.from([1, 2, 3], x => x + x);
// [2, 4, 6]
// Generate a sequence of numbers
// Since the array is initialized with `undefined` on each position,
// the value of `v` below will be `undefined`
Array.from({length: 5}, (v, i) => i);
// [0, 1, 2, 3, 4]
+ 한가지 더 유용한 부분, from 메서드를 이용하면 시퀀스 생성기를 쉽게 만들 수 있다.
// Sequence generator function (commonly referred to as "range", e.g. Clojure, PHP etc)
const range = (start, stop, step) => Array.from({ length: (stop - start) / step + 1}, (_, i) => start + (i * step));
// Generate numbers range 0..4
range(0, 4, 1);
// [0, 1, 2, 3, 4]
// Generate numbers range 1..10 with step of 2
range(1, 10, 2);
// [1, 3, 5, 7, 9]
// Generate the alphabet using Array.from making use of it being ordered as a sequence
range('A'.charCodeAt(0), 'Z'.charCodeAt(0), 1).map(x => String.fromCharCode(x));
// ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
'Language > JS, TS' 카테고리의 다른 글
[Typescript] 구조적 타이핑 (0) | 2022.09.01 |
---|---|
[Error] tsconfig.json: Build:No inputs were found in config file (0) | 2022.06.15 |