gpt4 book ai didi

javascript - 循环最多 x 个数字,或更少

转载 作者:搜寻专家 更新时间:2023-11-01 05:03:19 29 4
gpt4 key购买 nike

假设我有这段代码:

var arr = [0,1,2,3,4];

// This will work
for(let i=0;i<arr.length;i++){
console.log(arr[i]);
}

// And this will crash
for(let i=0;i<11;i++){
console.log(arr[i]);
}

我需要遍历,并默认打印出 12 个值。但有时假设数据库返回一个只有 2 个元素的数组。然后循环将在 arr[2] 上崩溃。

另一方面,如果数据库返回一个包含 100 个元素的数组,我希望它仍然只循环 12 次。

我可以在其中 try catch ,但这似乎不是一个好的做法。

for(let i=0;i<11;i++){
try{
console.log(arr[i]);
}catch(e){

}
}

现在都是意大利面。我想我也可以检查数字是否未定义,如下所示:

// And this will crash
for(let i=0;i<11;i++){
if(arr[i]!==undefined){
console.log(arr[i]);
}
}

但这仍然迫使循环进行 12 次。那么有没有一种方法可以确保它只在需要的时候运行?

还有休息时间;做事方式:

for(let i=0;i<11;i++){
if(arr[i]!==undefined){
console.log(arr[i]);
} else{
break;
console.log('test'+i)
}
}

但是有没有办法像这样设置迭代器限制?

for(let i=0; i<11 OR i<arr.length; i++)

最佳答案

But would there be a way to set the iterator limit like this?

for(let i=0; i<11 OR i<arr.length; i++)

是的,你完全可以这样做,除非你想“和”条件,即它必须小于 11 并且小于数组长度。 JavaScript bool 快捷方式和运算符是 &&:

for(let i=0; i<11 && i<arr.length; i++)

关于javascript - 循环最多 x 个数字,或更少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51418367/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com