## 當前等級 ![](https://www.codewars.com/users/QuantumParrot/badges/large) *** ## 雞湯 陷入自我懷疑時用來鼓勵自己的句子,很有用 你不需要一開始就很厲害,但你要先開始才能變得厲害。 -- 六角學院・洧杰校長 いつでも難しい方の道を選んでください。 -- 《金之國水之國》莎拉(這部好看,推) May your choices reflect your hopes, not your fears. -- 曼德拉 我們在想像中受的苦多過於現實中。 -- 山道ㄏ ... 塞內卡 *** ## 題目 ### 1\. [The Feast of Many Beasts](https://www.codewars.com/kata/5aa736a455f906981800360d) - 2023/10/13 (Black Friday!!) #### 題目說明 + 動物名的第一個字要等於食物名的第一個字,動物名的最後一個字要等於食物名的最後一個字 #### 我的解法 ``` JavaScript function feast(beast, dish) { return beast[0] === dish[0] && beast[beast.length-1] === dish[dish.length-1] } ``` 核心思路:取出字元 --> 比對 #### 自我檢討 `dish[dish.length-1]` 可以寫成 `dish.slice(-1)` #### 其他解法 這題雖然不難,但是光是 "取出字元" 這個步驟,十個人就會有十個做法,是觸類旁通的大好機會! 1\. 直播班同學的解法 - 1 ( 我最喜歡的解法 ) ``` JavaScript return beast.startsWith(dish[0]) && beast.endsWith(dish[dish.length-1]) ``` 這個解法還可以玩各種排列組合~ 2\. 直播班同學的解法 - 2 ``` JavaScript const regex = /^\w|\w$/g; return beast.match(regex).join('') === dish.match(regex).join('') ``` 原來正則表達式還有這種用法 👍 3\. 直播班同學的解法 - 3 ``` JavaScript return beast.at(0) === dish.at(0) && beast.at(-1) === dish.at(-1) ``` 大致上思路都是一樣的,提取然後比對,可以運用的工具卻很多 希望有機會可以再操作它們~