如何将数字 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> ${values.join(',<br/> ')}<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);
我有一个已知 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> ${values.join(',<br/> ')}<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);