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

javascriptweb developmentobject oriented programming更新于 2025/10/2 23:08:17

什么是摩尔斯电码?

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

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

这是将字母映射到摩尔斯电码的对象 −

摩尔斯电码映射

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

输出

控制台中的输出将是 −

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

相关文章


有用资源