이번 챕터를 읽으면서 새로 알게 된 점 / 용어
밀집 배열과 희소 배열
- 밀집 배열 - 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열된 자료구조
- 희소 배열 - 메모리 공간 동일한 크기 아니어도 됨 + 연속적으로 이어지지 않아도 됨
배열 생성
// 리터럴
const arr1 = [1, 2, 3];
// Array 생성자 함수
const arr2 = new Array(10) // [empty * 10]
const arr3 = new Array(1,2,3) // [1, 2, 3]
// Array.of < new!
Array.of(1, 2, 3); // [1, 2, 3]
// Array.from
Array.from({ length: 2, 0: 'a', 1: 'b' }); // ['a', 'b']
Array.from('Hello'); // ['H', 'e', 'l', 'l', 'o']
Array.prototype.flat
// 배열 평탄화하기
// 생략할 경우 기본값 1, 중첩배열 전체 평탄화 할 경우 Infinity 넣어주기
[1, [2, [3, [4]]].flat() // [1, 2, [3, [4]]]
[1, [2, [3, [4]]].flat(Infinity) // [1, 2, 3, 4]
forEach
for문에 비해 성능 ↓ 가독성 ↑
break, continue, return 사용할 수 없음 (for … of 는 사용 가능)
요소가 매우 많은 배열의 순회, 복잡한 코드, 높은 성능이 필요하지 않은 경우 ⇒ forEach 사용
Array.prototype.flatMap
map + flat. 1단계만 평탄화함
이번 챕터를 읽으면서 내 코드에 적용해 볼 수 있을 것 같은점
- 조건에 대해 Array.some 또는 Array.every의 활용
- Array.some → 배열 요소 중 콜백함수 반환값이 1번이라도 참이면 참 (OR)
- Array.every → 배열 요소 중 콜백함수 반환값이 모두 참이어야 참 (AND)
이번 챕터를 읽으면서 내가 잘못 사용하고 있거나 개선할 부분이 보이는 부분에 대해서 적기
for … in / for … of > for > forEach 순으로 잘 쓰는 편이었음
forEach 대신 map 등으로 해결하는게 더 많았음
지금 생각해보면 더 간단한 내용은 가독성을 위해서 forEach를 사용하는게 더 좋았을지도 모르겠다
'study > JavaScript' 카테고리의 다른 글
map과 객체 (0) | 2024.11.19 |
---|---|
딥다이브 스터디 : 25장 클래스 (0) | 2024.08.05 |
딥다이브 스터디 : 24장 클로저 (0) | 2024.08.05 |
딥다이브 스터디 : 23장 실행 컨텍스트 (0) | 2024.07.03 |
딥다이브 스터디 : 22장 this (0) | 2024.07.03 |