javascript - js解码摩尔斯电码

标签 javascript morse-code

对于这个项目,我正在尝试解码给定的莫尔斯电码字符串。编码字符由一个空格分隔,单词由三个空格分隔。我很难克服空格这个词。我不断收到“wordundefinedword”。

decodeMorse = function(morseCode) {
    outPut = "";

    for (var i = 0; i < morseCode.split(" ").length; i++) {
        if (i === "   ") {
            outPut += " ";
        } else {
            outPut += MORSE_CODE[morseCode.split(" ")[i]];
        }

    }
    return outPut;
}

示例:“”...... -.--""-- .- -.""-> "嘿伙计" 抱歉引用了奇怪的言论。它不会显示没有外部空间的空间。

最佳答案

这是一个使用 .map().split().join() 的方法。

function decodeMorse(morseCode) {
  var ref = { 
    '.-':     'a',
    '-...':   'b',
    '-.-.':   'c',
    '-..':    'd',
    '.':      'e',
    '..-.':   'f',
    '--.':    'g',
    '....':   'h',
    '..':     'i',
    '.---':   'j',
    '-.-':    'k',
    '.-..':   'l',
    '--':     'm',
    '-.':     'n',
    '---':    'o',
    '.--.':   'p',
    '--.-':   'q',
    '.-.':    'r',
    '...':    's',
    '-':      't',
    '..-':    'u',
    '...-':   'v',
    '.--':    'w',
    '-..-':   'x',
    '-.--':   'y',
    '--..':   'z',
    '.----':  '1',
    '..---':  '2',
    '...--':  '3',
    '....-':  '4',
    '.....':  '5',
    '-....':  '6',
    '--...':  '7',
    '---..':  '8',
    '----.':  '9',
    '-----':  '0',
  };

  return morseCode
    .split('   ')
    .map(
      a => a
        .split(' ')
        .map(
          b => ref[b]
        ).join('')
    ).join(' ');
}

var decoded = decodeMorse(".-- --- .-. -..   .-- --- .-. -..");
console.log(decoded);

关于javascript - js解码摩尔斯电码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43726344/

相关文章:

java - 莫尔斯电码到英语/英语到莫尔斯电码转换器

puzzle - 不带空格地翻译摩尔斯电码

c - MSP430 上的摩尔斯电码输入

javascript - 使用 JavaScript 创建在线 CMD/终端

javascript - NodeJS/Electron : Is it possible to register “STRG+<” as a globalShortcut and how can I do this?

javascript - 将 Angular 模块添加到 mean.io 包

java - 摩尔斯电码应用程序(JAVA Gui)

javascript - react native : How to create a menu brought up from bottom?

javascript - 如何通过在 Javascript 中悬停将背景颜色更改为特定类

c++ - 单词之间的摩尔斯电码空格问题