題目連結
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(' ')
一個空白
就把字詞都串起來了