@partizzend

Как произвести слияние подмассивов в массиве?

Как лучше слить подмассивы многомерного массива, например:
let array = [
  [
    [[534, 75665], 232, 3232], 
    [54, 23234, 43456]
  ],
  [
    [346, "", 3456], 
    [33434, 45, 345]
  ],
  [
    [436, 346, 634], 
    [64334, 63464, 232]
  ]
];

Чтобы получился один массив, в данном случае - такой:
let array = [
    [[534, 75665, 346, 436], [232, "",  346], [3232, 3456, 634]], 
    [[54, 33434, 64334], [23234, 45, 63464], [43456, 345, 232]]
]

Желательно кроссбраузерный и понятный способ.
  • Вопрос задан
  • 180 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
array.reduce((acc, el) => {
  el.forEach((n, i) => {
    acc[i] = acc[i] || [];
    n.forEach((m, j) => (acc[i][j] = acc[i][j] || []).push(...[].concat(m)));
  });

  return acc;
}, [])
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
IonDen
@IonDen Куратор тега JavaScript
JavaScript developer. IonDen.com
Начните отсюда: Array.prototype.flat()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы