Javascript 为什么我的倍数函数返回NaN?

Javascript 为什么我的倍数函数返回NaN?,javascript,Javascript,我希望我的函数将给定数字的所有3倍和5倍相加。我的代码 function solution(number) { const multiples = [3, 5]; let result; for (let i = 0; i < number; i++) { if (i % multiples[0] === 0 || i % multiples[1] === 0) { result += i; } } return result; } con

我希望我的函数将给定数字的所有3倍和5倍相加。我的代码

function solution(number) {
  const multiples = [3, 5];
  let result;

  for (let i = 0; i < number; i++) {
    if (i % multiples[0] === 0 || i % multiples[1] === 0) {
      result += i;
    }
  }
  return result;
}
console.log(solution(49));
我的函数范围有什么问题?

因为结果的初始值未定义:

您可以这样做:让结果=0

函数解数{ 常数倍数=[3,5]; 设结果=0; 对于设i=0;i 那么你的

结果+=我第一次成为


结果=未定义的+i,即NaN,在后续的加法中,它只是一组NaN+i操作,再次等效于NaN。

代码添加一些数字以产生循环,但其初始值是什么?键入以下问题:30秒以上。使用调试器查找答案:~20秒。我不明白。
NaN