flatten, unflatten

김루루룽·2022년 4월 24일
0

React, Next.js

목록 보기
22/42

flatten

다중 배열 혹은 객체를 평탄화 시키는 것.

다중 깊이 수준을 지원하는 concat(),reduce 및 ECMAScript 6 Arrays.flat()메서드를 사용하여 JavaScript 배열을 평면화하는 방법이 있다.
혹은 lodash의
또한 ECMAScript 6을 사용할 수없는 사람들을 위해 순수한 for루프로 유사한 메서드를 구현할 수 있다.

flat 메서드를 이용한 flatten

const arr1 = [0, 1, 2, [3, 4]];

console.log(arr1.flat());
// expected output: [0, 1, 2, 3, 4]

const arr2 = [0, 1, 2, [[[3, 4]]]];

console.log(arr2.flat(2));
// expected output: [0, 1, 2, [3, 4]]

전부 flatten처리를 하고 싶다면 Infinity

const arr4 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
arr4.flat(Infinity);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]



lodash flatten을 이용한 flatten

_.flatten(array)

_.flatten([1, [2, [3, [4]], 5]]);
// => [1, 2, [3, [4]], 5]

lodash flatten

_.filter - 다른 점은 remove는 원본값을 변경한다는 것과 반환값이 다르다.








unflatten

flatten되어있는 배열 혹은 객체를 원하는 모양으로 만드는 것을 의미한다.

const unflatten = require('unflatten')
unflatten({
  'a.b.c': 'd'
})
/*
{
  a: {
    b: {
      c: 'd'
    }
  }
}
*/

npmjs unflatten

profile
1day 1push..plz

0개의 댓글