JS팁_1. 배열 채우기

Seoyong Lee·2021년 7월 3일
6

JavaScript / TypeScript

목록 보기
18/25
post-thumbnail
post-custom-banner

하나의 수로 배열 채우기

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() 메소드를 이용하면 쉽게 한 숫자(혹은 문자)로 채워진 배열을 생성할 수 있다.

1부터 정해진 수까지 채우기

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씩 곱해가는 배열을 만들고 싶다면 매핑함수를 위와 같이 설정할 수 있다.

0부터 정해진 수까지 채우기

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()에서 두 번째 인자를 설정해 인덱스만 남기도록 하는 방법도 존재한다.

참고
MDN - Array.from()

profile
코드를 디자인하다
post-custom-banner

0개의 댓글