반응형
기본적인 사용자 지정 함수
function getNumberArray (N) {
let a = Array(N), b = 0;
while(b < N) a[b++] = b;
return a;
}
getNumberArray(10);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
ES6+ API을 활용한 1줄 짜리 방법들 - 0으로 시작하는 기본 수열
Array.from(Array(10).keys())
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[...Array(10).keys()]
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Array.apply(null, {length: 10}).map(Number.call, Number)
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
ES6+ API을 활용한 1줄 짜리 방법들 - 화살표 함수를 이용한 등차 또는 등비수열
Array.from({length: 10}, (_, i) => i + 1)
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[ ...Array(10).keys()].map( i => i + 1);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Array(10).fill().map((_, i) => i + 1);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Array(endNumber - startNumber + 1)
.fill(0)
.map((_, id) => startNumber + id)
// startNumber부터 endNumber까지의 배열
Array.from(Array(10), (_, i) => i + 1)
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
속도 차이
https://jsbench.me/zskijebb24/1
JSBench.me - JavaScript performance benchmarking playground
jsbench.me
반응형
'웹_프론트엔드 > JavaScript' 카테고리의 다른 글
[자바스크립트] 이미지 URL을 File 또는 FileList로 변환하기 (0) | 2023.11.10 |
---|---|
[JS] 클로저란? (0) | 2023.07.25 |
[JS] 스코프(Scope)란? (0) | 2023.07.24 |
자바스크립트 스크롤 애니메이션 넣기 - Intersection Observer API (0) | 2023.03.31 |
자바스크립트 반복문 총 정리 (0) | 2022.10.14 |