티스토리 뷰

반응형

중첩된 배열의 차원을 낮추는 flat 매서드에 대해서 알아보자.

 

 

 

flat()

flat 메서드는 배열 안에 배열이 있는 다중 차원의 배열의 차원을 한 단계 낮춰준다. 배열이 일차원이라면 그대로 일차원으로 남는다. flat()의 단점은 속도가 비교적 느리다는 점이다.

 

구문

 

1
flat([depth]);
cs

 

 

 

기능

1) 다중 차원 배열 평탄화

 

1
2
3
4
5
6
7
8
const array1 = [12345, [678910]];
array1.flat(); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 
const array2 = [12345, [67, [8910]]];
array2.flat(); // [1, 2, 3, 4, 5, [6, 7, 8, 9, 10]]
 
const array3 = [12345, [67, [8, [910]]]];
array3.flat(); // [1, 2, 3, 4, 5, [6, 7, [8, 9, 10]]]
cs

 

 

 

배열을 평탄화할 때 기본 깊이 값은 n-1이며, 지정할 수도 있다.

 

1
2
3
4
5
const array = [12345, [67, [8, [910]]]];
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 = [123, , 5];
array.flat(); // [1, 2, 3, 5]
cs

 

 

 

 

 

반응형
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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 31