[코드캠프 6주차]flatten, unflatten

민범기·2022년 4월 23일
0

[Flat]

자바스크립트에서는 flat 내장 함수를 지원하고 있다.
flat는 이중 배열이나 중첩된 배열을 하나의 배열로 만들어 주는 작업이다.

const arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]

const arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]

const arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]

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]

[umFlatten]

unFlatten 은 flat의 반대말로 평탄화 작업이 아니라 비평탄화를 하는 것이다.

import { flatten, unflatten } from "arr-flatten-unflatten"
 
//평탄화 작업
let flat = flatten([2, 4, [8, [2, [32, 64]], 7], 5]);
/**
 * => {
 * "[0]": 2,
 * "[1]": 4,
 * "[2][0]": 8,
 * "[2][1][0]": 2,
 * "[2][1][1][0]": 32,
 * "[2][1][1][1]": 64,
 * "[2][2]": 7,
 * "[3]": 5
 * }
 * */
 
//비평탄화 작업
unflatten(flat);
// => [2, 4, [8, [2, [32, 64]], 7], 5]
profile
프론트엔드 개발 지망생 민범기입니다^^

0개의 댓글