안녕하세요. 혀코입니다.
이번 시간에는 다차수 배열의 차수를 줄이는 자바스크립트의 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차수로 변환하고 싶을 때 사용하면 좋을 것 같습니다.
해당 정보가 유용하셨다면, 공감과 구독 부탁 드립니다.
감사합니다. :)
댓글