一個水仙花數是一個數字這是它本身的數字的總和,在每個給定的基地升高到的位數的功率。在這個Kata中,咱們將本身限制爲十進制(基數爲10)。javascript
例如,取153(3位數):java
1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153
複製代碼
和1634(4位數):數組
1^4 + 6^4 + 3^4 + 4^4 = 1 + 1296 + 81 + 256 = 1634
複製代碼
挑戰:bash
您的代碼必須返回true或false具體取決於給定數字是否爲基數10中的Narcissistic數字。函數
不須要檢查文本字符串或其餘無效輸入的錯誤,只有有效的整數將傳遞給函數。ui
使用Math.pow
方法對數字的每一位進行冪運算,而後判斷每一位冪運算以後的和是否等於傳入的數字this
const narcissistic = value => {
let arr = [...value.toString()] // 註解1
return arr.reduce((pre, cur) => pre += Math.pow(parseInt(cur), arr.length), 0) === value // 註解2
}
複製代碼
註解1: 把數字轉成字符串(調用Number.toString()
方法),而後使用擴展運算符將其按每位分割成一個數組spa
使用reduce
方法進行過求和,最後判斷是否等於傳入的數字code
題目地址: Does my number look big in this?ip