다중 배열 혹은 객체를 평탄화 시키는 것.
다중 깊이 수준을 지원하는 concat(),reduce 및 ECMAScript 6 Arrays.flat()메서드를 사용하여 JavaScript 배열을 평면화하는 방법이 있다.
혹은 lodash의
또한 ECMAScript 6을 사용할 수없는 사람들을 위해 순수한 for루프로 유사한 메서드를 구현할 수 있다.
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]]
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]
_.flatten(array)
_.flatten([1, [2, [3, [4]], 5]]);
// => [1, 2, [3, [4]], 5]
_.filter - 다른 점은 remove는 원본값을 변경한다는 것과 반환값이 다르다.
flatten되어있는 배열 혹은 객체를 원하는 모양으로 만드는 것을 의미한다.
const unflatten = require('unflatten')
unflatten({
'a.b.c': 'd'
})
/*
{
a: {
b: {
c: 'd'
}
}
}
*/