Как стать автором
Обновить

Комментарии 1

Кажется, в произведении у вас O больше чем могло бы быть – всё из-за concat, он копирует весь массив на каждом шаге. Вот так будет и проще, и быстрее:

function cartesianProduct(a, b) {
  if (!a?.length || !b?.length) return null
  return a.flatMap(x => b.map(y => [x, y]))
}

Зарегистрируйтесь на Хабре, чтобы оставить комментарий