在JavaScript中执行循环之前检查数组的长度

在JavaScript中执行循环之前检查数组的长度,javascript,arrays,loops,Javascript,Arrays,Loops,在执行循环之前,检查数组的长度是否不等于0是否有意义 var arr = [1,2,3]; if (arr.length !== 0) { // do loop } 嗯,这取决于循环。如果是以下形式: for (i = 0; i < arr.length; i++) { do_something_with (arr[i]); } 然后,是的,如果不存在这样的beast,您将需要它来避免使用arr[0]的问题 但我会考虑第二种情况(检查后)“断开”,因为、(){} /代码

在执行循环之前,检查数组的长度是否不等于0是否有意义

var arr = [1,2,3];
if (arr.length !== 0) {
    // do loop
}

嗯,这取决于循环。如果是以下形式:

for (i = 0; i < arr.length; i++) {
    do_something_with (arr[i]);
}
然后,是的,如果不存在这样的beast,您将需要它来避免使用
arr[0]
的问题


但我会考虑第二种情况(检查后)“断开”,因为<代码>、(){} /代码>或<代码>(){{}} /代码>变量(检查之前)在这种情况下更自然。

嗯,这取决于循环。如果是以下形式:

for (i = 0; i < arr.length; i++) {
    do_something_with (arr[i]);
}
然后,是的,如果不存在这样的beast,您将需要它来避免使用
arr[0]
的问题


但我会考虑第二种情况(检查后)“断开”,因为<代码>、(){} /代码>或<代码>(){{}} /代码>变量(检查之前)在这种情况下更自然。

< P>不,检查是不必要的。如果数组有零个元素,那么循环将执行零次(假设它被正确写入)

如果数组可以是
null
,则检查该数组是否有效,例如

if(arr !== null)
{
    // loop
}

不,不需要支票。如果数组有零个元素,那么循环将执行零次(假设它被正确写入)

如果数组可以是
null
,则检查该数组是否有效,例如

if(arr !== null)
{
    // loop
}

在一般情况下,这是没有意义的。对于foreach、For或while循环,循环条件将阻止循环执行,因此检查是多余的

var arr = [];
for (var loopCounter = 0; loopCounter < arr.length; loopCounter++)
{
   // This loop will never be entered.
} 

foreach (var element in arr)
{
   // This loop will never be entered.
}

var loopCounter = 0;
while (loopCounter < arr.length)
{
   // This loop will never be entered.
   loopCounter++;
} 
var arr=[];
对于(var loopCounter=0;loopCounter
但是唯一重要的时间是使用do…while循环。在这种情况下,循环将执行,然后检查循环条件(为时已晚)。在这种情况下,您的代码可能会在循环中引发异常,如下面的代码所示

var arr = [];
var loopCounter = 0;
do 
{ 
   someMethod(arr[loopCounter]); // This will throw an error
   loopCounter++;
} 
while(loopCounter < arr.length);
var arr=[];
var-loopCounter=0;
做
{ 
someMethod(arr[loopCounter]);//这将抛出一个错误
loopCounter++;
} 
while(loopCounter
在一般情况下,它没有意义。对于foreach、For或while循环,循环条件将阻止循环执行,因此检查是多余的

var arr = [];
for (var loopCounter = 0; loopCounter < arr.length; loopCounter++)
{
   // This loop will never be entered.
} 

foreach (var element in arr)
{
   // This loop will never be entered.
}

var loopCounter = 0;
while (loopCounter < arr.length)
{
   // This loop will never be entered.
   loopCounter++;
} 
var arr=[];
对于(var loopCounter=0;loopCounter
但是唯一重要的时间是使用do…while循环。在这种情况下,循环将执行,然后检查循环条件(为时已晚)。在这种情况下,您的代码可能会在循环中引发异常,如下面的代码所示

var arr = [];
var loopCounter = 0;
do 
{ 
   someMethod(arr[loopCounter]); // This will throw an error
   loopCounter++;
} 
while(loopCounter < arr.length);
var arr=[];
var-loopCounter=0;
做
{ 
someMethod(arr[loopCounter]);//这将抛出一个错误
loopCounter++;
} 
while(loopCounter