题解 | #简单密码#
简单密码
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;
查看10道真题和解析