赔率总和 N - JavaScript

Sum odds in integer N - JavaScript

我正在尝试创建一个函数来计算 N 个整数的赔率总和。

例如,如果 N = 5 => 1+3+5 = 9

这是我的尝试:

const n = 4

let arr = []
let i = 0
while (i < n) {
    i++
    arr.push(i)
}

console.log(arr)

这段代码return一个数组,所有整数都在N中,没问题。

现在我想过滤赔率,然后求和。 我尝试了不同的方法但没有成功。

感谢您的宝贵时间!

const calculateSum = (n) => {
  
  let sum = 0;

  // Start from 1 and increment by 2 (1, 3, 5, 7, 9, 11, etc)
  for(let i = 1; i <= n; i+=2) {
    sum += i;
  }
  return sum;

}

我建议使用 Array.reduce() 以获得所需的结果。我们使用 Array.from() 生成从 1 到 N 的所有整数,然后使用 .reduce() 将任何奇数添加到总和(累加器)值中。

function getSumOfOddNumbers(n) {
    return Array.from({length: n}, (v,k) => k + 1).reduce((sum, cur) => (cur % 2) ? sum + cur: sum, 0);
}

for(let n = 1; n < 10; n += 2) {  
    console.log(`Odd number sum from 1 to ${n}:`, getSumOfOddNumbers(n));
   }
.as-console-wrapper { max-height: 100% !important; top: 0; }