凯撒密码(FreeCodeCamp)

简介: 凯撒密码(FreeCodeCamp)

题目描述

image.png

解题思路

  1. 首先遍历每一个字符。
  2. 通过charCodeAt()来判断字符的ASCII码值,如果该值在A-Z之间继续判断-13之后是否还在这个范围,如果还在这个范围直接通过charCodeAt()进行转换字符即可。
  3. 如果该值不在A-Z之间,直接进行拼接原字符即可。

实现代码

function rot13(str) {
    let temp = '';
    for (let v of str) {
        if (v.charCodeAt() < 65 || v.charCodeAt() > 90) {
            temp = temp + v
        } else {
            if (v.charCodeAt()-13 < 65) {
                temp = temp + String.fromCharCode(91 - (65 - v.charCodeAt() + 13))
            } else {
                temp = temp + String.fromCharCode(v.charCodeAt()-13)
            }
        }
    }
    temp
    return temp;
}
rot13("SERR CVMMN!");
复制代码

题目链接

凯撒密码

题目反思

  • 学会使用charCodeAt()将字符转换为对应的ASCII码值。
  • 学会使用fromCharCode将ASCII码值转换为对应的字符。
  • 学会使用new Map(数组),来将一个数组转换为对应的Map,这样比一个一个的添加进Map要方便的多。
相关文章
|
存储 NoSQL 算法
图解!24张图彻底弄懂九大常见数据结构!(上)
图解!24张图彻底弄懂九大常见数据结构!
图解!24张图彻底弄懂九大常见数据结构!(上)
|
存储 PHP 数据库
新手教程 快速部署PbootCMS到本地或者服务器
新手教程 快速部署PbootCMS到本地或者服务器
2102 0
|
Linux iOS开发 MacOS
Flask 安装
Flask 安装还是比较简单的。
683 18
|
机器学习/深度学习 人工智能 API
Aligner:自动修正AI的生成结果,北大推出残差修正模型对齐技术
介绍北大团队提出的 Aligner 模型对齐技术,通过学习对齐答案与未对齐答案之间的修正残差,提升大语言模型的性能。
492 28
|
12月前
|
存储 弹性计算 运维
海量日志接入 Elasticsearch Serverless 应用降本70%以上
本文将探讨在日志场景下,使用阿里云Elasticsearch Serverless相较于基于ECS自建Elasticsearch集群的成本与性能优势,展示如何通过Serverless架构实现高达 70%以上的成本节约。
653 0
|
机器学习/深度学习 算法 数据挖掘
基于LSTM神经网络的电力负荷预测(Python代码实现)
基于LSTM神经网络的电力负荷预测(Python代码实现)
1219 0
|
前端开发
西门子S7-1200模块如何安装和拆卸
本文我们来学习西门子S7-1200模块如何安装和拆卸。西门子S7-1200模块的设计易于安装,尺寸较小,可以有效的利用空间。S7-1200可以安装在面板或标准导轨上,既可以水平安装,也可以垂直安装。
西门子S7-1200模块如何安装和拆卸
|
编解码 Rust 前端开发
纯前端也能实现在线GIF压缩
纯前端也能实现在线GIF压缩
|
IDE Java 开发工具
JAVA的死循环机制
在编程中,循环结构是非常常见和重要的一种语法结构,它可以使程序重复执行某段代码块,直到满足终止条件才停止。然而,如果循环条件永远不满足或者没有正确设置终止条件,就会导致程序陷入死循环。
567 0

热门文章

最新文章