简化长 Switch 语句

2024-04-16

我需要温习我的 javascript,因为它是我最弱的语言,所以我想“嘿,让我们制作一个简单的‘翻译’程序来测试我的技能”。好吧,到目前为止,我能够以一种方式翻译它(我还没有尝试过翻译人们输入的内容),但无论如何,它的方式是通过开关内的一系列许多情况来实现的。我想知道是否有办法简化代码,而不是拥有一百万个开关案例。谢谢这是我的代码。

function main() {
            var get = prompt("Enter what you would like to encode!","At the current time decoding is still a WIP").toLowerCase();
            var ina = [...get];
            for(i = 0; i < ina.length; i++) {
                switch(ina[i]) {
                case "a":
                    ina[i] = "z";
                    break;
                case "b":
                    ina[i] = "y";
                    break;
                case "c":
                    ina[i] = "x";
                    break;
                case "d":
                    ina[i] = "w";
                    break;
                case "e":
                    ina[i] = "v";
                    break;
                case "f":
                    ina[i] = "u";
                    break;
                case "g":
                    ina[i] = "t";
                    break;
                case "h":
                    ina[i] = "s";
                    break;
                case "i":
                    ina[i] = "r";
                    break;
                case "j":
                    ina[i] = "q";
                    break;
                case "k":
                    ina[i] = "p";
                    break;
                case "l":
                    ina[i] = "o";
                    break;
                case "m":
                    ina[i] = "n";
                    break;
                case "n":
                    ina[i] = "m";
                    break;
                case "o":
                    ina[i] = "l";
                    break;
                case "p":
                    ina[i] = "k";
                    break;
                case "q":
                    ina[i] = "j";
                    break;
                case "r":
                    ina[i] = "i";
                    break;
                case "s":
                    ina[i] = "h";
                    break;
                case "t":
                    ina[i] = "g";
                    break;
                case "u":
                    ina[i] = "f";
                    break;
                case "v":
                    ina[i] = "e";
                    break;
                case "w":
                    ina[i] = "d";
                    break;
                case "x":
                    ina[i] = "c";
                    break;
                case "y":
                    ina[i] = "b";
                    break;
                case "z":
                    ina[i] = "a";
                    break;
                default:
                    ina[i] = ina[i]
                    };
                };
                var outa = ina.join("");
                document.getElementById("output").innerHTML = outa;

            };      

您可以使用具有以下属性的对象

{
    a: 'z',
    b: 'y',
    c: 'x',
    // ...
    z: 'a'
}

使用默认值ina[i].

ina[i] = object[ina[i]] || ina[i];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简化长 Switch 语句 的相关文章

随机推荐

  • 如何使用 NMS 和 C# 识别 ActiveMQ 断开连接

    我有一个 C 发布者和订阅者 它们使用 ActiveMQ 和 NMS 相互通信 一切工作正常 除了我无法知道 ActiveMQ 何时出现故障 这对于消费者来说尤其不利 他们停止获取数据 但除了数据停止显示之外 不会引发任何错误或事件 有没有
  • Zuul - Api 网关身份验证

    我想在几个服务前面通过Spring Cloud引入Zuul作为API网关 我对身份验证有一些设计疑问 身份验证将由 Spring Security 处理 它位于 servlet 过滤器链中的 Zuul 之前 我的顾虑 网关将位于许多服务的前
  • 删除声明同步身份 2.2

    我对 Identity 2 0 有问题 我正在尝试更新用户的声明 这是我的代码 var UserID User Identity GetUserId var claims await UserManager GetClaimsAsync U
  • 在 AFNetworking 2.0 中使用 SSL 时出现错误 1012

    我正在尝试通过 SSL 连接到我的网站 该网站使用 StartSSL 签名的证书 当我浏览网站时 一切正常 但是 当我尝试在应用程序中使用 SSL 时 我得到 Error Domain NSURLErrorDomain Code 1012
  • ReferenceError:浏览器未定义

    我正在运行这段代码 而 Firefox 给出了错误 未捕获的引用错误 浏览器未定义 const manifest browser runtime getManifest 到目前为止我已经尝试使用这个 var 浏览器 浏览器 铬合金 仍然如此
  • 如何在 CSSStyleDeclaration 对象上设置 hsl 颜色?

    如何设置hsl颜色CSSStyleDeclaration object CSS background color hsl 155 100 30 JavaScript divElement style backgroundColor 我不想在
  • 通过远程桌面开发[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有人对通过远程桌面进行团队工作有任何成功的评论吗 在许多工作场所 我们通过 Citrix 将最终用户和应用程序放置在功能强大的中央服务器上 有时
  • Scala 特征如何编译成 Java 字节码?

    我已经使用 Scala 一段时间了 我知道特征可以充当 Scala 中接口和抽象类的等价物 Trait 究竟是如何编译成 Java 字节码的 我发现了一些简短的解释 说明特征在可能的情况下与 Java 接口完全一样地编译 否则与附加类的接口
  • 哪里可以下载 AdventureWorks 2008.msi?

    我想安装冒险工场 2008 我刚刚安装了 SQL Server 2008 R2 Express 每次我从 CodePlex 下载推荐版本时 我得到的只是AdventureWorks2008 mdf文件 我不仅无法从 SQL Server M
  • C++ 后缀/前缀运算符重载为非成员函数

    我正在编写自己的数组类作为练习 因为 我读到非成员函数实际上在某些方面比成员函数更好 斯科特 迈耶斯 http www drdobbs com cpp how non member functions improve encapsu 184
  • jquery改变属性

    我有 4 个链接 我需要更改 rel 属性中的 href 属性 我知道我不能这样做 所以我尝试从 href 属性获取数据 设置一个新属性 rel 在其中插入数据 然后删除 href 属性 基本上我正在这样做 div menu ul li a
  • 如何在 WordPress 中使用 wp_get_nav_menu_items 生成自定义菜单/子菜单系统?

    我有一个 html 结构 需要自定义wp nav menu code 这是我需要生成的html ul class main nav li class item a href http example com p 123 class titl
  • 仅将两个目录交集的文件从目录 1 复制到目录 2

    假设我有 dir 1 file a subdir 0 file b file c dir 2 file a subdir 0 file b 我想将两个目录中存在的每个文件复制到 dir 2 在上面的例子中 这意味着file a and su
  • 移动后端API密钥的安全性

    假设我正在开发一个调用 API 服务器的移动应用程序 API 服务器由 API 密钥保护 我无法在移动应用程序中对 API 密钥进行硬编码 因为它可能会被盗 如何保护 API 密钥 假设我正在开发一个调用 API 服务器的移动应用程序 AP
  • 在React Router v6中以编程方式重定向到路由时出现问题

    我想对某些用户操作执行导航 例如按钮的 onSubmit 假设用户单击 添加联系人 按钮 我希望反应路由器在主页 中重定向 目前我正面临这个问题 gt TypeError Cannot read properties of undefine
  • Spring boot 使用希伯来语发送请求时,特定机器上的 UTF-8 中间字节无效 [重复]

    这个问题在这里已经有答案了 我正在使用 Spring boot mvc 并且遇到一个问题 该问题仅在我的临时计算机上重现 但在本地运行良好 我发送以下 JSON 请求 注意 whatever 字段下的希伯来字符 messageInitiat
  • 从sql中的字符串读取char,double,int模式

    你有一个像这样的字符串 set string ddd 1 5 1 eee 2 3 0 fff 1 2 ggg 6 123 1 我想知道是否有办法提取字符串值并将它们放置在第一行 双精度值并将它们放置在第二行和 int 值并将它们放置在第三行
  • 使用 jQuery 清除焦点上的输入并返回模糊

    这几乎有效 但是 当离开该字段时 会出现 defaulttext 而不是原始文本值 不确定如何最有效地回显 defaultText 中的变量 function var defaultText this val input type text
  • 使用过滤器将 html 添加到 WooCommerce 商店通知

    我正在尝试使用过滤器在我的 WooCommerce 商店通知周围添加一个 div 包装器 我还想用关闭图标替换关闭链接 这就是我到目前为止所拥有的 但它并没有真正按照我想要的方式工作 add filter woocommerce demo
  • 简化长 Switch 语句

    我需要温习我的 javascript 因为它是我最弱的语言 所以我想 嘿 让我们制作一个简单的 翻译 程序来测试我的技能 好吧 到目前为止 我能够以一种方式翻译它 我还没有尝试过翻译人们输入的内容 但无论如何 它的方式是通过开关内的一系列许