개발 공부 기록

[javascript] 배열 초기화 본문

취업 준비/코딩테스트

[javascript] 배열 초기화

_김도연 2021. 3. 18. 14:48

javascript로 코딩테스트를 풀기 위해서 배열의 초기화가 필요한 순간이 많다. 0 또는 0 ~ N-1로 배열을 초기화하는 방법들에 대해 정리해보기로 했다.

1. for 문 이용하기

const arr = [];

for(let i = 0; i < 5; i++){
	arr.push(i);
}

console.log(arr); // [0, 1, 2, 3, 4]

2. Array.from() 이용하기

const arr = Array.from({length : 5}, () => 0);
console.log(arr); // [0, 0, 0, 0, 0]

const arr = Array.from({length: 5}, (v, index) => index); // 이때 v는 undefined
console.log(arr); // [0, 1, 2, 3, 4]

3. Array.fill() 이용하기

const arr = new Array(5).fill(0);
console.log(arr); // [0, 0, 0, 0, 0]

4. Array.map() 이용하기

const arr = [...new Array(5)].map((v, index) => index);
console.log(arr); // [0, 1, 2, 3, 4]

실행시간 비교

길이가 10000000인 배열을 0으로 초기화할 때, 실행시간을 기록해보았다. for문이 가장 빠르긴 했지만 Array.fill과 실행시간 차이가 크지 않기 때문에 Array.fill을 사용하는게 가독성이 높고 좋을 것 같다.

방법 소요 시간(ms)
for 문 240 ~ 260
Array.from 1350 ~ 1400
Array.fill 310 ~ 380
Array.map 2100 ~ 2150

 

기타 관련 글

배열 초기화 시 new Array()보다는 []를 사용하자

Comments