笛卡尔积
function keyboardMap(str) {
const strArr = str.split("");
console.log(strArr);
const map = [, , "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"];
let result = [];
for (let k = 0; k < str.length; k++) {
result = fn(result, map[strArr[k]]);
}
console.log(result);
}
function fn(str1, str2) {
if (str1.length === 0 || str2.length === 0)
return str1.length === 0 || str2.length === 0 ? str2 : str1;
let data = [];
for (let i = 0; i < str1.length; i++) {
for (let j = 0; j < str2.length; j++) {
data.push(str1[i] + str2[j]);
}
}
return data;
}
console.log(keyboardMap("49"));