Вы также можете использовать эту функцию:
const result = (arrayOfArrays) => arrayOfArrays.reduce((t, i) => { let ac = []; for (const ti of t) { for (const ii of i) { ac.push(ti + '/' + ii) } } return ac })
result([['a', 'b', 'c', 'd'], ['e'], ['f', 'g', 'h', 'i', 'j']])
// which will output [ 'a/e/f', 'a/e/g', 'a/e/h','a/e/i','a/e/j','b/e/f','b/e/g','b/e/h','b/e/i','b/e/j','c/e/f','c/e/g','c/e/h','c/e/i','c/e/j','d/e/f','d/e/g','d/e/h','d/e/i','d/e/j']
Конечно, вы можете удалить + '/'
в ac.push(ti + '/' + ii)
, чтобы исключить косую черту из конечного результата. И вы можете заменить те for (... of ...)
на функции forEach (плюс соответствующую точку с запятой до return ac
), независимо от того, с кем вам удобнее.