#javascript #arrays #assertion
Вопрос:
Я написал функцию JavaScript, которая преобразует английские буквы в morseCode, например Hello
, которые преобразуются правильно, когда я печатаю на консоль. но если входные данные содержат неправильные символы, например Hel?l%o
, он игнорирует неправильные символы и печатает пустое пространство.
Ожидание: программа должна утверждать, что ввод допустим. Я хочу, чтобы функция выводилась invalid input
на консоль и не выполнялась, когда входные данные содержат неправильные символы.
Смотрите Мой код ниже для возможного исправления. Спасибо.
function lettersToMorseCode(string) {
const morseCode= ".-amp;-...amp;-.-.amp;-..amp;.amp;..-amp;--.amp;....amp;..amp;.---amp;-.-amp;.-..amp;--amp;-.amp;---amp;.--.amp;--.-amp;.-.amp;...amp;-amp;..-amp;...-amp;.--amp;-..-amp;-.--amp;--..amp;.-amp;-...amp;-.-.amp;-..amp;.amp;..-amp;--.amp;....amp;..amp;.---amp;-.-amp;.-..amp;--amp;-.amp;---amp;.--.amp;--.-amp;.-.amp;...amp;-amp;..-amp;...-amp;.--amp;-..-amp;-.--amp;--...".split("amp;");
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
неправильно, поэтому я прокомментировал их, так как они не решают проблему.