题解 | #简单密码#

简单密码

https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac

使用object来解决 完整代码如下:
let base = {2: 'abc', 3: 'def', 4: 'ghi', 5: 'jkl', 6: 'mno', 7: 'pqrs', 8: 'tuv', 9: 'wxyz'};
    //先将小写字母替换成数字
    let str1 = str.replace(/[a-z]/g, x =>{
        for(const [key, value] of Object.entries(base)) {
            if (base[key].includes(x)) {
                x = key;
                return x;
            }
        }
    });
    //再将大写字母替换成往后移一位的小写字母,注意字母‘Z’需单独拎出来转变为‘a’
    let str2 = str1.replace(/[A-Z]/g, x => {
        x = x == 'Z' ? 'a' : String.fromCharCode(x.toLowerCase().charCodeAt(0) + 1);
        return x;
    })
    return str2;


全部评论

相关推荐

有气魄的马来熊在摸鱼:我爱vivo 马上换手机 vivo我爱你!!!
点赞 评论 收藏
分享
评论
9
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务