Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | 1x 1x 2x 28x 26x 5x 3x 2x 2x 28x 2x 1x 1x | const morseCharacters = {
"1": '.----',
"2": '..---',
"3": '...--',
"4": '....-',
"5": '.....',
"6": '-....',
"7": '--...',
"8": '---..',
"9": '----.',
"0": '-----',
"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 code = (message) => {
return message.toUpperCase().split("").map(char => {
if(morseCharacters[char]){
return morseCharacters[char]
}
})
}
function MorseCode(message) {
if(!message || !isNaN(message || message == "" || message == null || !message.match('/[a-zA-Z0-9-/]/'))){
throw new Error('ArgumentInvalidException')
}
const morsecode = code(message)
var filter = morsecode.filter(function(mc){
return mc !== undefined;
})
return filter.join('@')
}
module.exports = MorseCode;
console.log(MorseCode('Necesito Ayuda')) |