Array.from 메서드는 유사 배열 객체나 반복 가능한 객체를 얕게 복사해 새로운 Array 객체를 만든다.
console.log(Array.from('foo'));
// expected output: Array ["f", "o", "o"]
console.log(Array.from([1, 2, 3], x => x + x));
// expected output: Array [2, 4, 6]
Array.from()의 첫 번째 인자는 배열로 만들 이터러블한 객체가 되며 두 번째 인자는 생성한 배열의 모든 원소에 대해 수행할 맵핑함수이다.(map())
예를들어 1부터 20까지의 배열을 만든다고 했을 때는 아래와 같이 사용할 수 있겠다.
const arr = Array.from(Array(20), (el, idx) => idx+1)
만약 위와 같은 방법이 아닌 고전적인 for문을 사용하는 방식이라면 아래와 같이 사용이 되었을 것이다.
for(let i = 1 i <= 20 ; i++){
arr.push(i)
}
위와 같이 Array.from()은 ES6에 새로 추가된 문법이므로 구세대 브라우져를 지원하기 위한 폴리필이 필요하다. 헌데 Internet Explorer만 지원이 안되고 있고..2022년 6월에 서비스 종료가 된다고 하니 폴리필을 덜 신경써도 될듯 하다.