JavaScriptの2次元配列を.flat()で平坦化

flat()

const twoDimensionsArray = [[1a, 1b, 1c], [2a, 2b, 2c], [3a, 3b, 3c]]
twoDimensionsArray.flat()
=> ['1a', '1b', '1c', '2a', '2b', '2c', '3a', '3b', '3c']

flatMap()

flatMap()を使うと、
オブジェクトの配列内にある配列の平坦な連想配列を作れる

const twoDimensionsObjArray = [
  {
    key: 1,
    value: 'aaa',
    array: [
      { aryKey: 10, aryVal: 'a' },
      { aryKey: 20, aryVal: 'b' }
    ]
  },
  {
    key: 2,
    value: 'bbb',
    array: [
      { aryKey: 30, aryVal: 'c' },
      { aryKey: 40, aryVal: 'd' }
    ]
  }
]
twoDimensionsObjArray.flatMap((obj)=>obj.array)
=>  
[
  { aryKey: 10, aryVal: 'a' },
  { aryKey: 20, aryVal: 'b' },
  { aryKey: 30, aryVal: 'c' },
  { aryKey: 40, aryVal: 'd' }
]

map()とflat()をそれぞれ実行しても同じ

const twoDimensionsObjArray = [
  {
    key: 1,
    value: 'aaa',
    array: [
      { aryKey: 10, aryVal: 'a' },
      { aryKey: 20, aryVal: 'b' }
    ]
  },
  {
    key: 2,
    value: 'bbb',
    array: [
      { aryKey: 30, aryVal: 'c' },
      { aryKey: 40, aryVal: 'd' }
    ]
  }
]

const mappedArray = twoDimensionsObjArray.map((obj)=>obj.array)
=>  
[
  [ { aryKey: 10, aryVal: 'a' }, { aryKey: 20, aryVal: 'b' } ],
  [ { aryKey: 30, aryVal: 'c' }, { aryKey: 40, aryVal: 'd' } ]
]

mappedArray.flat()
=>
[
  { aryKey: 10, aryVal: 'a' },
  { aryKey: 20, aryVal: 'b' },
  { aryKey: 30, aryVal: 'c' },
  { aryKey: 40, aryVal: 'd' }
]