具体问题,LEETCODE 第 17 题(简单难度) https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/submissions/
/**
* @param {string} digits
* @return {string[]}
*/
var letterCombinations = function(digits) {
//1. 建立数字和字母的映射 2~9
let map=['','','abc','def','ghi','jkl','mno','pqrs','tuv','wxyz']
//2. 字符串转数组,使其可遍历 23=>[2,3]
let nums = digits.split('')
//3. 保存数字映射后的内容 [2,3]=>['abc','def']
let code = []
nums.forEach(item=>{
if(map[item]){
code.push(map[item])
}
})
let comb = (arr)=>{
let tmp=[]
for(let i=0;i<arr[0].length;i++){
for(let j=0;j<arr[1].length;j++){
tmp.push(`${arr[0][i]}${arr[1][j]}`)
}
}
arr.splice(0,2,tmp)
if(arr.length>1){
comb(arr)
}
else{
return arr[0]
}
return arr[0]
}
return comb(code)
};
执行出错信息:
Line 19: TypeError: Cannot read property 'length' of undefined
执行结果 & 本地环境可通过,提交代码时运行时错误,如何解决?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.