let n = 15;
let arr = new Array(n).fill(0);
console.log(arr) // [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
new Array.fill() 메소드를 이용하면 쉽게 한 숫자(혹은 문자)로 채워진 배열을 생성할 수 있다.
let n = 15;
let arr = Array.from(new Array(n), (x, i) => i + 1);
console.log(arr) // [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
만약 1 부터 시작해서 1씩 증가하는 배열을 만들어야 한다면 위와 같이 Array.from(배열, 매핑함수())를 이용할 수 있다. 매핑함수는 상황에 따라 다양하게 설정할 수 있다는 장점을 가진다.
let n = 15;
let arr = Array.from(new Array(n), (x, i) => (i + 1) * 2);
console.log(arr) // [2,4,6,8,10,12,14,16,18,20,22,24,26,28,30]
만약 2부터 시작해서 2씩 곱해가는 배열을 만들고 싶다면 매핑함수를 위와 같이 설정할 수 있다.
let n = 15;
let arr = Array.from(Array(n).keys());
console.log(arr); // [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
0부터 시작하는 배열을 만들어야 한다면 keys()를 통해 인덱스를 그대로 추출할 수 있다.
let n = 15;
let arr = [...Array(n)].map((x, i) => i);
console.log(arr); // [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
혹은 map()에서 두 번째 인자를 설정해 인덱스만 남기도록 하는 방법도 존재한다.