[英]Javascript reduce method not returning expected output. What is going wrong here?
我正在處理 codeWars 挑戰,我不確定為什么我的 reduce 方法沒有返回預期的結果。
以下是說明:
自戀數是一個長度為 n 的數,其中其數字的 n 次方之和等於原始數。 如果這看起來令人困惑,請參閱下面的示例。
例如:153,其中 n = 3(153 中的位數) 1³ + 5³ + 3³ = 153
編寫一個方法 is_narcissistic(i) 返回 i 是否為自戀數。
這是我的解決方案:
function narcissistic(value) {
let digits = (value + '').split('').map(Number);
let narc = digits.reduce((a, c) => a + (c ** digits.length))
return narc === value;
}
console.log(narcissistic(371))
當我用自戀數字 371 測試它時,返回 341 而不是 371
如果您不提供初始值,則將第一項用作初始值,並且不會相乘。 將初始值設置為 0。
function narcissistic(value) { let digits = (value + '').split('').map(Number); let narc = digits.reduce((a, c) => a + (c ** digits.length), 0) return narc === value; } console.log(narcissistic(371))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.