題目:
(6 級) Stop gninnipS My sdroW!
撰寫一個 function 接受參數 string
,若 string
內的單字含有 5 個以上的字母,則反轉該單字 (如同題目)。
範例:
spinWords( "Hey fellow warriors" )
=> returns "Hey wollef sroirraw"
spinWords( "This is a test")
=> returns "This is a test"
spinWords( "This is another test" )
=> returns "This is rehtona test"
Ruby 解法:
def spinWords(string)
# 先把傳入的參數 string 轉成陣列
string.split.map { |word|
# 如果裡面的單字字母有 5 個以上
# 就反轉該字串,反之則直接回傳該單字
word.length >= 5 ? word.reverse : word
# 最後將陣列轉回字串
}.join(" ")
end
JavaScript 解法:
function spinWords(string){
// 先把傳入的參數 string 轉成陣列
return string.split(" ").map(word => {
// 如果裡面的單字字母小於 5 個
if (word.length < 5) {
// 直接回傳該單字
return word;
} else {
// 反之則將該單字轉成陣列並且反轉
// 最後轉回字串回傳
return word.split("").reverse().join("")
}
// 最後將處理過的陣列轉回字串回傳
}).join(" ")
}