(Javascript)LEETCODE题目,执行结果 & 本地环境可通过,提交代码时运行时错误,如何解决?

发布于 2022-09-11 20:47:03 字数 1208 浏览 15 评论 0

具体问题,LEETCODE第17题(简单难度)
https://leetcode-cn.com/probl...

我的代码:

/**
 * @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

执行结果 & 本地环境可通过,提交代码时运行时错误,如何解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

意犹 2022-09-18 20:47:03

你在本地试一下 letterCombinations('2')

横笛休吹塞上声 2022-09-18 20:47:03

本地运行通过,线上不通过,一般是本地运行的时候,你传入的参数类型比较单一。
而线上的,它会传各种可能的参数。

这里:
// for(let j=0;j<arr[1].length;j++)

当传入的参数只有一位数字的时候,arr[1]不存在

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文