在 JavaScript 中将字符串转换为莫尔斯电码


什么是莫尔斯电码?

莫尔斯电码是一种在电信中用于将文本字符编码为标准化、时长不同的两个信号序列(称为点和划线)的方法。

要获得一个将特定字符串转换为莫尔斯电码的函数,我们需要一个对象,该对象将所有字符(英文字母)映射到莫尔斯电码等价项。有了它,我们只需遍历字符串并构造一个新字符串。

以下是将字母映射到莫尔斯电码的对象 −

莫尔斯电码映射

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

输出

控制台中的输出将是 −

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

更新日期: 24-8-2020

3 千次浏览

开始您的 职业生涯

完成课程获得认证

开始
广告