繁体   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