본문 바로가기
Programming/JavaScript

[JavaScript] Array.flat() 메서드 (다차수 배열의 차수를 줄이는 방법)

by 혀코 2022. 7. 15.

 

안녕하세요. 혀코입니다.

이번 시간에는 다차수 배열의 차수를 줄이는 자바스크립트의 flat() 메서드에 대해서 알아보겠습니다.

자바스크립트 Array의 flat() 메소드는 Array 배열 구조안에 또 다른 Array를 값을 가질때 이 Array를 평평하게 만드는 함수입니다.

예를 들어 array1이라는 Array에 [ 1, 2, 3, [ 4, 5, 6 ] ] 값이 있을 때, array1.flat()을 실행시키면, [ 1, 2, 3, 4, 5, 6 ]을 반환합니다.

2차수의 배열을 1차수의 배열로 변환

var array1 = [1,2,3,[4,5,6]] 
array1.flat()

// [1, 2, 3, 4, 5, 6]

 

만약 Array 안의 Array 값에 또 다른 Array가 존재할 경우, flat()을 실행시키면, 2번째 하위에 있는 Array는 평평하게 되지 않습니다.

예를 들어 array1이라는 Array에 [ 1, 2, [ 3, 4, [ 5, 6 ] ] ] 값이 있을 때, array1.flat()을 실행시키면, [ 1, 2, 3, 4, [ 5, 6 ] ]을 반환합니다.

 

3차수의 배열을 2차수의 배열로 변환

var array1 = [1,2,[3,4,[5,6]]]
array1.flat()

// [1, 2, 3, 4, [5, 6]]

 

이 때에는 flat()의 인자값으로 2을 넣게되면 모든 배열 Array가 평평하게 만들어 집니다.

 

3차수의 배열을 1차수의 배열로 변환

var array1 = [1,2,[3,4,[5,6]]]
array1.flat(2)

// [1, 2, 3, 4, 5, 6]

 

위와 같이 앞에 속한 Array의 하위 차수 만큼 속한 모든 배열 Array를 평평하게 만드려면 flat의 인자값을 하위 차수 만큼 지정해서 넘겨주면 모든 배열을 평평하게 만들 수 있습니다.

또한 flat() 함수는 다음과 같이 배열의 빈 값을 없애주는 기능도 수행합니다.

 

배열의 빈 값을 없애주는 기능

var array1 = [1,2,3,,5,6]
array1.flat()

// [1, 2, 3, 5, 6]

 

이렇게 다차수 배열의 차수를 줄이는 자바스크립트의 flat() 메서드에 대해서 알아봤습니다.

코딩을 하다가 원치않게 다차수의 배열을 만들었을때 이것을 1차수로 변환하고 싶을 때 사용하면 좋을 것 같습니다.

해당 정보가 유용하셨다면, 공감과 구독 부탁 드립니다.

감사합니다. :)

댓글