采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
letterCombinations.js:21 Uncaught TypeError: Cannot read property ‘length’ of undefined at comb (letterCombinations.js:21) at letterCombinations (letterCombinations.js:34) at index.html:11
var letterCombinations = function(digits) {
//判断是否为空
if(!digits){
return []
}
let mp=['','','abc','def','ghi','jkl','mno','pqrs','tuv','wxyz'];
let a=digits.split('')
let code=[];
a.forEach(item=>{
if(mp[item])
code.push(mp[item])
})
let comp=(arr)=>{
let result=[];
//判断是否为一个数字
if(arr.length<2){
return arr[0].split('')
for(let i=0,m=arr[0].length;i<m;i++){
for(let j =0;j<arr[1].length;j++){
result.push(`${arr[0][i]}${arr[1][j]}`)
arr.splice(0,2,result)
if(arr.length>1){
comp(arr)
else{
return result
return arr[0]
return comp(code);
};
按里面的注释理解就可以了
同学问问题得描述上下文,指说一个length取不到值我怎么能猜出来是什么原因呢
当输入为空或者一个数字的字符时候,arr[0]或者arr[1]就没有长度,然后会报错,老师默认输入的str.length>=2
还是希望老师可以把代码放在leecode跑一遍
登录后可查看更多问答,登录/注册
填补前端同学的算法短板,掌握面试中最常见的算法与数据结构
1.7k 9
1.2k 8
1.4k 8
1.3k 8
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号