Как бы вы реализовали декартово произведение множественных массивов в JavaScript?
В качестве примера,
cartesian([1, 2], [10, 20], [100, 200, 300])
должен вернуться
[
[1, 10, 100],
[1, 10, 200],
[1, 10, 300],
[2, 10, 100],
[2, 10, 200]
...
]