javascript - 在执行将字母转换为莫尔斯电码的 javaScript 函数之前,如何断言用户输入包含在数组中(正确)
问题描述
我编写了将英文字母转换为莫尔斯电码的 javaScript 函数,例如Hello
,当我打印到控制台时,它会正确转换。但是如果输入包含错误的字符,例如Hel?l%o
它会忽略错误的字符并打印空格。
期望:程序应该断言输入是有效的。我希望该函数invalid input
在输入包含错误字符时打印到控制台而不执行。
请参阅下面的代码以获取可能的更正。谢谢。
function lettersToMorseCode(string) {
const morseCode= ".-&-...&-.-.&-..&.&..-&--.&....&..&.---&-.-&.-..&--&-.&---&.--.&--.-&.-.&...&-&..-&...-&.--&-..-&-.--&--..&.-&-...&-.-.&-..&.&..-&--.&....&..&.---&-.-&.-..&--&-.&---&.--.&--.-&.-.&...&-&..-&...-&.--&-..-&-.--&--...".split("&");
const letter= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXWZ".split("");
string.split("");
let output = [];
/*
if (string.split("") !== letter){
console.log("invalid input");
break;
}
*/
for (let i = 0; i < string.length; i++) {
/*
if (string[i] != letter){
console.log("invalid input");
}
*/
output.push(morseCode[letter.indexOf(string[i])]);
}
let translateToMorse = output.join(" ");
console.log(translateToMorse)
}
lettersToMorseCode("Enjoy");
我想我用if conditions
错了,所以我评论了他们,因为他们没有解决挑战。
解决方案
推荐阅读
- java - 仅反转句子中的字母而不是Java中的数字或特殊字符的字符串
- android - 由于 AdMob (com.google.android.gms.policy_ads_fdr_dynamite) 而导致的 ANR
- javascript - 在数组中保存多个下拉选项
- batch-file - 如何处理Windows批处理中的嵌套if条件
- ruby-on-rails - Rails'Guide for action cable 第一个例子的不理解
- javascript - MongoNetworkError:连接 5
- c# - 处理来自对象的空 Json 数组
- reactjs - Redux 将 dispatch 连接到 props
- python-3.x - Y = churn.iloc[:, 18].values
- c# - xunit.net 测试发现并运行,但“调用执行程序 'executor://xunit/VsTestRunner2/uap' 时发生异常”