@Alex10214

Как объединить массив массивов?

Приветствую, у меня есть задача, но что-то не получается решить. Я только учусь так что извините может за глупый вопрос.
У меня есть два массива:
[
 ['1', '2', '3', '4']
 ['5', '6', '7', '8']
 ['9', '10', '11', '12']
]

[
 ['a', 'c', 'v', 's']
 ['l', 'k', 'j', 'h']
 ['f', 'z', 'b', 'm']
]

А мне нужно сделать вот такой массив:
[
 ['1', '2', '3', '4', 'a', 'c', 'v', 's']
 ['5', '6', '7', '8', 'l', 'k', 'j', 'h']
 ['9', '10', '11', '12', 'f', 'z', 'b', 'm']
]

У меня получается только через циклы for в for и в for и дальше я просто уже теряюсь.. А хотелось бы увидеть как должно быть, чтоб изучить логику и понять как нужно. Так как у меня вообще не получается.
  • Вопрос задан
  • 77 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
arr1.map((n, i) => [ ...n, ...arr2[i] ])

или, в более общем виде:

const concat = (...arrs) =>
  arrs.reduce((acc, n) => (
    n.forEach((m, i) => (acc[i] ??= []).push(...m)),
    acc
  ), []);


const arr = concat(arr1, arr2);
Ответ написан
Aetae
@Aetae
Тлен
lodash:
var a = [
  ['1', '2', '3', '4'],
  ['5', '6', '7', '8'],
  ['9', '10', '11', '12']
];

var b = [
  ['a', 'c', 'v', 's'],
  ['l', 'k', 'j', 'h'],
  ['f', 'z', 'b', 'm']
];

zipWith(a, b, concat);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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