[英]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.