我有一個已知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>
uj5u.com熱心網友回復:
您可以根據以下邏輯生成陣列:
第一項:startValue
第 2 項:startValue diff
第三項:startValue (diff * 2)
等等...
const
startValue = 0.07,
finalValue = 4.76,
iterations = 10,
diff = (finalValue - startValue) / iterations,
values = Array.from(
{ length: iterations 1 },
(_, i) => startValue i * diff
);
console.log(values);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/480073.html
標籤:javascript 数学
上一篇:計算將箭頭旋轉到標記的最小角度
下一篇:填補角度串列(數字)之間的空白
