題目連結
https://www.codewars.com/kata/54b724efac3d5402db00065e
解法
function decodeMorse(morseCode) {
let arr = morseCode.trim().split(' ') // array
let word = arr
.map(code =>
code.split(' ') //array.map
.map(char =>
MORSE_CODE[char]
)
.join('')
)
.join(' ')
return word
}
筆記
題目已經設定好MORSE_CODE的資料
先確認摩斯密碼的規則
主要有三種符號:.、-、space
- 字元是由
.、-組成 - 一個
space是字元之間的停頓 ex:"_" - 三個
space是單詞之間的聽頓 ex:"___"
先使用trim()去頭去尾
接著分開單詞split(' ') (''內為三個空白)
map()取出arr每個元素
這次分開字元split(' ') (''內為一個空白)
arr每個元素再做一次map()
將每個字元做替換後join()回去
這時還是array型態
在最外層在join(' ')一個空白
就把字詞都串起來了


