题目描述
输入[[A, B], [a, b], [1, 2]]
输出[Aa1, Aa2, Ab1, Ab2, Ba1, Ba2, Bb1, Bb2]
相关代码
const arr = [
["1", "2", "3"],
["a", "b", "c"],
["A", "B", "C"],
];
function merge(a, b) {
const result = [];
b.forEach((e) => {
a.forEach((el) => {
result.push(e + el);
});
});
return result;
}
function permutation(arr) {
if (arr.length <= 1) {
const result = arr.pop()
console.log(result);
// return result;
return '123'
} else {
const lastMerge = merge(arr.pop(), arr.pop());
permutation([...arr, lastMerge]);
}
}
const result = permutation(arr);
console.log('result:',result)
执行结果如上,为什么return 都是 undefined呢,很困惑,求高人指教,亦可优化该程式,🙇🙇🙇