簡體   English   中英

Javascript - 有條件地選擇 while 循環的條件

[英]Javascript - Conditionally selecting the condition of a while loop

我需要用隨機選擇的元素填充數組,直到數組達到指定的長度 該數組的長度必須等於兩個長度中的最小值。 我們將它們length_1length_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.

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