일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 웹
- HTML
- kubernetes
- 타입스크립트
- 파이썬
- BFS
- 자바스크립트
- 백엔드
- 가상화
- es6
- 이더리움
- TypeScript
- docker
- 솔리디티
- k8s
- 클라우드
- 컴퓨터공학
- AWS
- 백준
- CSS
- 블록체인
- JavaScript
- 리액트
- node.js
- 이슈
- 프론트엔드
- next.js
- react
- 쿠버네티스
- 알고리즘
Archives
- Today
- Total
즐겁게, 코드
너! 배열이 되어라! - Array.from() 메서드 사용하기 본문
Array.from()
은 문자열 등 유사 배열(Array-like) 객체나 이터러블한 객체를 배열로 만들어주는 메서드입니다.
(※ 유사 배열 객체란, 키가 인덱스 값으로 되어있고 길이를 나타내는 length 속성을 갖는 객체를 의미합니다.)
// 1. 문자열을 배열로 만드는 예시
console.log(Array.from("Hello"));
// [ 'H', 'e', 'l', 'l', 'o' ]
// 2. 유사 배열 객체를 배열로 만드는 예시
console.log(Array.from({ 0: "찬민", 1: "희진", 2: "태인", length: 3 }));
// [ '찬민', '희진', '태인' ]
// 3. 함수의 매개변수들을 순서대로 배열로 만드는 예시
const funcA = (...arguments) => {
return Array.from(arguments)
}
console.log(funcA(1,2,3,4,5));
// [ 1, 2, 3, 4, 5 ]
Array.from()
의 첫 번째 인자는 배열로 만들 이터러블한 객체가 되며, 두 번째 인자는 생성한 배열의 모든 원소에 대해 수행할 맵핑 함수입니다. (Array.map()
이라고 생각하시면 됩니다.)
한번 Array.from()
과 반복문을 활용해 1부터 31까지의 수를 원소로 갖는 배열을 생성해 보겠습니다.
// 맵핑 함수의 첫 번째 인자 언더스코어(_) 는 특별한 인자가 아니라,
// 불필요한 인자의 공간을 채우기 위한 용도입니다.
const arr = Array.from(Array(31), (_, index) => index + 1);
console.log(arr);
const arr = [];
for (let i = 1; i <= 31; i++) {
arr.push(i);
}
console.log(arr);
만약 Array.from()
을 사용하지 않는다면 아래처럼 고전적인(?) 반복문을 사용해야 할 텐데요, 취향에 따라 다르겠지만 저는 Array.from()
을 통해 배열을 생성하는 방식이 더 깔끔해 보이네요! 😄
다만 한 가지 단점이 있다면, Array.from()
은 ES6에 새로 추가된 문법이므로 구세대 브라우저를 지원하기 위한 폴리필이 필요합니다.
다만 "그 브라우저" 가 2022년 6월까지 시한부 선고를 받았으니, 아마 제가 취업할때 쯤이면 폴리필을 덜 신경써도 될 것 같네요!! (행복!!)
반응형
'💬 언어 > Javascript' 카테고리의 다른 글
keys, values, entries 메서드 사용하기 (0) | 2021.08.15 |
---|---|
데이터 페칭 로직 우아하게 개선하기 (3) | 2021.06.14 |
제너레이터 사용하기 - 지연 평가 (lazy evaluation) (0) | 2021.05.03 |
nullish coalescing 연산자로 널 참조 방지하기 (0) | 2021.05.02 |
변수의 호이스팅, 그리고 TDZ의 함정 (0) | 2021.04.11 |
Comments
소소한 팁 : 광고를 눌러주시면, 제가 뮤지컬을 마음껏 보러다닐 수 있어요!
와!! 바로 눌러야겠네요! 😆