function compose(arr, level, stringBuffer) {
for (let i = 0; i < arr[level].length; i++) {
if (level !== arr.length - 1) {
compose(arr, level + 1, stringBuffer + arr[level][i])
} else {
console.log(stringBuffer + arr[level][i])
}
}
}
var arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
compose(arr, 0, '')
输出 147 148 149 157 158 159 167 168 169 247 248 249 257 258 259 267 268 269 347 348 349 357 358 359 367 368 369
var arr = [['a', 'b'], ['c', 'd', 'e']]
compose(arr, 0, '')
输出 ac ad ae bc bd be