在JavaScript中将字符串转换为MORSE代码

什么是摩尔斯电码?

莫尔斯电码是电信中使用的一种方法,用于将文本字符编码为两个不同信号持续时间的标准化序列,称为点和破折号。

要具有将特定字符串转换为摩尔斯电码的功能,我们需要一个对象,该对象将所有字符(英文字母)映射为摩尔斯电码等效项。一旦有了,我们可以简单地遍历字符串并构造一个新的字符串。

这是将字母映射为摩尔斯电码的对象-

摩尔斯电码图

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!'));

输出结果

控制台中的输出将为-

-........-...-..-. --.--..---..--.-.-
.....-.-- -......-..!