[英]Javascript - Conditionally selecting the condition of a while loop
我需要用隨機選擇的元素填充數組,直到數組達到指定的長度。 該數組的長度必須等於兩個長度中的最小值。 我們將它們length_1
和length_2
。 因此,如果length_1 < length_2
,則使用length_1
,否則使用length_2
。 請注意,兩個長度都是常數,因此語句length_1 < length_2
將始終給出相同的布爾值。
我想出的處理這種情況的方法是創建一個while 循環,它在每一輪都會向數組中添加一個新的隨機選擇的元素。 它是這樣的:
while (
length_1 < length_2
? array.length < length_1
: array.length < length_2
) {
// Add a new randomly selected element to the array
};
這是一種有效的方法嗎? 有沒有更簡潔的方法來解決它?
您可以提前獲得循環條件的最小值。
const
length = Math.min(length_1, length_2);
while (array.length < length) {
// ...
}
我盡量避免while循環。 他們很容易陷入無限循環。
const length = Math.min(length_1, length_2);
for(let i = 0; i < length; i+=1) {
//...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.