簡體   English   中英

Javascript 減少方法未返回預期的 output。 這里出了什么問題?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM