如何将数字 S 增加 N 次,直到达到数字 F?

How do I increase number S, N times, until it reaches number F?

我有一个已知 startValue、一个已知 finalValue 和一个固定数量的允许 iterations

startValue 开始,每次循环都需要不断增加值,直到达到 finalValue

我希望按比例增加(渐进)。

我正在尝试下面的数字,除了数组开头和结尾的跳转之外,数字似乎有意义。

从第一个值到第二个值似乎有一个很大的跳跃,从前一个到最后一个又是一个很大的跳跃。

虽然两者之间的值似乎在逐渐增加。

这是正确的还是最好的方法?

let startValue = 0.07
let finalValue = 4.76
let iterations = 10

let values = [startValue]

iterations--

while (iterations) {
  let [previousValue] = values.slice(-1)
  let nextValue = (finalValue - previousValue) / iterations
  values.push(nextValue)
  iterations--
}

values.push(finalValue)

document.getElementById('values').innerHTML = `[<br>&nbsp;&nbsp;${values.join(',<br/>&nbsp;&nbsp;')}<br>]`
<div id="values"></div>

您可以根据以下逻辑生成数组:

第一项:startValue

第二项:startValue + diff

第 3 项:startValue + (diff * 2)

等等...

const 
  startValue = 0.07,
  finalValue = 4.76,
  iterations = 10,
  diff = (finalValue - startValue) / (iterations - 1),
  values = Array.from({ length: iterations }, (_, i) => startValue + i * diff);

console.log(values);