티스토리 뷰
반응형
중첩된 배열의 차원을 낮추는 flat 매서드에 대해서 알아보자.
flat()
flat 메서드는 배열 안에 배열이 있는 다중 차원의 배열의 차원을 한 단계 낮춰준다. 배열이 일차원이라면 그대로 일차원으로 남는다. flat()의 단점은 속도가 비교적 느리다는 점이다.
구문
1
|
flat([depth]);
|
cs |
기능
1) 다중 차원 배열 평탄화
1
2
3
4
5
6
7
8
|
const array1 = [1, 2, 3, 4, 5, [6, 7, 8, 9, 10]];
array1.flat(); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const array2 = [1, 2, 3, 4, 5, [6, 7, [8, 9, 10]]];
array2.flat(); // [1, 2, 3, 4, 5, [6, 7, 8, 9, 10]]
const array3 = [1, 2, 3, 4, 5, [6, 7, [8, [9, 10]]]];
array3.flat(); // [1, 2, 3, 4, 5, [6, 7, [8, 9, 10]]]
|
cs |
배열을 평탄화할 때 기본 깊이 값은 n-1이며, 지정할 수도 있다.
1
2
3
4
5
|
const array = [1, 2, 3, 4, 5, [6, 7, [8, [9, 10]]]];
array.flat(); // [1, 2, 3, 4, 5, [6, 7, [8, 9, 10]]]
array.flat(1); // [1, 2, 3, 4, 5, [6, 7, [8, 9, 10]]]
array.flat(2); // [1, 2, 3, 4, 5, 6, 7, [8, 9, 10]]
array.flat(Infinity); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
cs |
2) 빈 배열 요소 제거
배열 사이에 빈 요소가 있을 경우 flat()을 사용하면 간단하게 제거할 수 있다.
1
2
|
const array = [1, 2, 3, , 5];
array.flat(); // [1, 2, 3, 5]
|
cs |
반응형
'JavaScript' 카테고리의 다른 글
[Javascript] e.preventDefault(), e.stopPropagation(), 이벤트 버블링(event bubbling) (0) | 2021.10.18 |
---|---|
[Javascript] 배열 메서드 every(), some() (0) | 2021.10.15 |
[Javascript] 구조분해 할당(destructuring assignment) (0) | 2021.10.13 |
[Javascript] 배열 값의 평균 구하기 - reduce() 매서드 (1) | 2021.10.13 |
[Javascript] 물음표(?) / 삼항 연산자 / 조건 연산자 / 조건문 (0) | 2021.10.11 |