GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — JavaScript/Ciphers/MorseCode.js at master · TheAlgorithms/JavaScript Expand file tree/ Copy pathMorseCode.jsMore file actions 90 lines (86 loc) · 1.79 KB / Copy pathMorseCode.jsFile metadata and controls90 lines (86 loc) · 1.79 KB 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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 /** * @author mrmagic2020 * @description Enciphers a combination of letters, numbers and symbols into morse code. * @see https://en.wikipedia.org/wiki/Morse_code * @param {string} msg The message to be enciphered. * @param {string} dot Symbol representing the dots. * @param {string} dash Symbol representing the dash. * @returns {string} Enciphered morse code. * @example morse('Hello World!') = '**** * *-** *-** --- *-- --- *-* *-** -** -*-*--' */ const morse = (msg, dot = '*', dash = '-') => { const key = { 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: '-----', '.': '*-*-*-', ',': '--**--', '?': '**--**', '!': '-*-*--', "'": '*----*', '"': '*-**-*', '(': '-*--*', ')': '-*--*-', '&': '*-***', ':': '---***', ';': '-*-*-*', '/': '-**-*', _: '**--*-', '=': '-***-', '+': '*-*-*', '-': '-****-', $: '***-**-', '@': '*--*-*' } let newMsg = '' msg .toString() .split('') .forEach((e) => { if (/[a-zA-Z]/.test(e)) { newMsg += key[e.toUpperCase()] .replaceAll('*', dot) .replaceAll('-', dash) } else if (Object.keys(key).includes(e)) { newMsg += key[e].replaceAll('*', dot).replaceAll('-', dash) } else { newMsg += e } newMsg += ' ' }) return newMsg.trim() } export { morse } |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |