// 题目:给定k个字符串数组,从这k个数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合。(不要使用库方法)
// 样例:
// input = [[“a”, “b”, “cd”], [“de”], [“e”, “f”]];
// output : [“adee”, “adef”, “bdee”, “bdef”, “cddee”, “cddef”]
function combination(arr) {
let twoSum = []
for (let i = 0; i < arr[0].length; i++) {
for (let j = 0; j < arr[1].length; j++) {
twoSum.push(`${arr[0][i]}${arr[1][j]}`);
}
}
//删除拼接好的前两个数组,合并新数组
arr.splice(0, 2, twoSum);
//递归调用
if (arr.length > 1) {
combination(arr);
}
return arr;
}
var input = [["a", "b", "cd"], ["de"], ["e", "f"]];
console.log(combination(input))