簡體   English   中英

如何制作此陣列?

[英]How can I make this array?

我試圖根據三角形一半上的窗簾點算出房屋形狀的長度。 例如,每次我向下移動三角形的長邊時,我都會進行一次測量,每次測量的時間都比上一次短。 我正在嘗試修改適合我的代碼。 我知道第一個測量值將等於從地板底部到三角形峰值的高度。 然后,每當它向三角形下移三英尺時,它將減去9英寸。 但是,我需要它在達到零時停止。 我已經像這樣設置了我的數組。

var endwallPanelLength=[]
endwallPanelLength[1]=peakHeight;
endwallPanelLength[2]=peakHeight-peakHeightDecrease;
endwallPanelLength[3]=endwallPanelLength[2]-peakHeightDecrease;
endwallPanelLength[4]=endwallPanelLength[3]-peakHeightDecrease; 

我知道整個代碼還有其他工作要做,但至少如何更有效地在數組中定義這些度量。

peakHeightDecrease僅為3 *斜率

這是你想要的嗎?

var endwallPanelLength = [peakHeight];
var i = 0;
while (endwallPanelLength[i] >= peakHeightDecrease) {
    endwallPanelLength.push(endwallPanelLength[i] - peakHeightDecrease);
    i++;
}

順便說一句,數組索引通常從0開始。

另一種方法是將peakHeight除以減少量:

var repetitions = Math.floor(peakHeight/peakHeightDecrease);
var endwallPanelLength = [];
for (var i = 0; i <= repetitions; i++) {
    endwallPanelLength.push(peakHeight - peakHeightDecrease*i);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM