js에서 for문을 돌리지 않고 배열을 만들고 싶어서 찾아보던 중 간단하고 멋진 스택들을 찾아냈습니다.
1. new Array를 사용하는 경우
const arr1d = new Array(2).fill(0);
// [0, 0]
const arr2d = new Array(2).fill(null).map(() => new Array(3).fill(0));
// [[0, 0, 0],
// [0, 0, 0]]
new Array를 이용해 length값을 주어서 배열을 만드는 스택입니다.
.fill은 하지 않아도 되지만, fill을 사용하지 않으면 배열의 값이 아무것도 들어있지 않아서 forEach 등의 메서드가 아예 먹히지 않을 수 있습니다.
따라서 null이나 0등의 값으로 초기화 할 것을 추천드립니다.
2. Array.from 을 사용하는 경우
const arr1d = Array.from(Array(2).fill(0));
// [0, 0]
const arr2d = Array.from(Array(2), () => Array(3).fill(0));
// [[0, 0, 0],
// [0, 0, 0]]
1번의 경우보다 약 12% 효율적이라고 합니다.
또한 코드 길이 또한 짧아서 사용성이 좋아보입니다.
'Languages > Javascript' 카테고리의 다른 글
JS에서 string을 number로 바꾸는 방법들 (0) | 2022.05.06 |
---|---|
Closure &Scope chain (0) | 2022.04.01 |
Javascript-map (0) | 2021.11.20 |
Javascript-reduce (0) | 2021.11.09 |