首页 > 解决方案 > 当添加在for循环中时如何添加到变量

问题描述

这是来自codewars的问题。这是我的代码。

function narcissistic(value) {
var total = 0
var valLength = value.length
const digit = [...`${value}`];
for(var i = 0; i < value.length; i++){
  total += Math.pow(value.length , digit)
}
  if(total == value){ return true

  } else {
    return false
  }
}

我遇到的问题是我不知道为什么当我这样做时total += value.length * digit[i]它没有添加到total. 有任何想法吗?

标签: javascriptfor-loop

解决方案


这个函数可以返回你需要的值

function narcissistic(value) {
    const stringValue = [...`${value}`];
    const len = stringValue.length;
    const sum = stringValue.reduce((prev, current) => {
        return prev + Math.pow(parseInt(current, 10), len);
    }, 0)
    return `${value}` === sum.toString();
}

推荐阅读