flatten, unflatten

8583 ワード

flatten


平たい辞書の意味は平たいという意味です
jsにおけるフラットは,二層配列,二層オブジェクトなどの深さのある配列を深さがないまで展開し,フラットな形で表現する機能である.

unflatten


unflattenは、扁平な配列やオブジェクトを深さのある配列やオブジェクトにする機能です.
const { flatten, unflatten } = require("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]
ソース-https://www.npmjs.com/package/arr-flatten-unflatten
npmにインストールして使用するか、jsに内蔵されているflat()機能を使用することができます.

flat()

const newArr = arr.flat([depth])
深度(Depth)は、ネストされたアレイ構造を平坦化するときに使用される深度値で、デフォルト値は1です.
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]
flatメソッドは、アレイ内の穴を除去することもできます.
const arr5 = [1, 2, , 4, 5];
arr5.flat();
// [1, 2, 4, 5]
ソース-https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/flat