莫尔斯电码是电信中使用的一种方法,用于将文本字符编码为两个不同信号持续时间的标准化序列,称为点和破折号。
要具有将特定字符串转换为摩尔斯电码的功能,我们需要一个对象,该对象将所有字符(英文字母)映射为摩尔斯电码等效项。一旦有了,我们可以简单地遍历字符串并构造一个新的字符串。
这是将字母映射为摩尔斯电码的对象-
摩尔斯电码图
const morseCode = { "A": ".-", "B": "-...", "C": "-.-.", "D": "-..", "E": ".", "F": "..-.", "G": "--.", "H": "....", "I": "..", "J": ".---", "K": "-.-", "L": ".-..", "M": "--", "N": "-.", "O": "---", "P": ".--.", "Q": "--.-", "R": ".-.", "S": "...", "T": "-", "U": "..-", "W": ".--", "X": "-..-", "Y": "-.--", "Z": "--.." }
现在将字符串转换为摩尔斯电码的函数将是-
const morseCode = { "A": ".-", "B": "-...", "C": "-.-.", "D": "-..", "E": ".", "F": "..-.", "G": "--.", "H": "....", "I": "..", "J": ".---", "K": "-.-", "L": ".-..", "M": "--", "N": "-.", "O": "---", "P": ".--.", "Q": "--.-", "R": ".-.", "S": "...", "T": "-", "U": "..-", "W": ".--", "X": "-..-", "Y": "-.--", "Z": "--.." } const convertToMorse = (str) => { return str.toUpperCase().split("").map(el => { return morseCode[el] ? morseCode[el] : el; }).join(""); }; console.log(convertToMorse('Disaster management')); console.log(convertToMorse('hey there!'));
输出结果
控制台中的输出将为-
-........-...-..-. --.--..---..--.-.- .....-.-- -......-..!