Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Django
- 알고리즘
- 런타임에러
- node
- 삼각형
- react
- 정보처리기사
- 실기
- 자바스크립트
- 백준
- vscode
- 사이트
- Object
- 지속가능한개발자
- boostcamp
- js
- 개발자
- 코테
- CSS
- 부스트캠프
- 5기
- Git
- 네이버커넥트재단
- 코딩테스트
- Mac
- 배포
- array
- Express
- javascript
- python
Archives
- Today
- Total
개발 공부 기록
[javascript] 배열 초기화 본문
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 |
기타 관련 글
'공부 > 코딩테스트' 카테고리의 다른 글
[javascript] Object를 [key, value] 형태의 배열로 만들기 (0) | 2021.03.30 |
---|---|
[javascript] 문자를 숫자로, 숫자를 문자로 (아스키코드) (0) | 2021.03.18 |
[python] enumerate (0) | 2020.09.20 |
[python] 주요 연산자 시간복잡도 (0) | 2020.09.13 |
[python] heapq (0) | 2020.09.13 |
Comments