您的位置:首页 - 教程 - jQuery - 正文
forEach、for、$.each()跳出循环比较

  无论工作上或是学习上,用过的知识点总是容易忘记,于是略作记录,方便你我他。

  说起跳出循环,第一时间想起的是 break \ continue,这是经典的for循环。

 

  1、for 循环

  先上例子,思考输出结果,体会 break 与 continue 的不同。

 1 var arr = [1,2,3,4,5,6]
 2 var arrySpecial = new Array();
 3 for (var i = 0; i < arr.length; i++){
 4         if(arr[i]%2==0)
 5         {
 6             arrySpecial.push(arr[i]);
 7             continue;
 8         }
 9         if(arr[i]%3==0)
10         {
11             arrySpecial.push(arr[i]);
12             break;
13         }
14     }
15 
16     console.log(arrySpecial);

  continue 结束本次循环,继续执行循环体; break 结束所有循环。在本例中当“2”满足条件后,继续进行下一轮判断,当’3‘满足条件后,break 结束所有循环。

 

  2、forEach

  这是ECMAScript 5数组的forEach方法 ,作用是遍历数组,常用的写法:

  案例分析:

var arr = [1,2,3,4,5,6]
    var arrySpecial = new Array();
    arr.forEach(function(e,i){
        if(e%2==0)
        {
            arrySpecial.push(e);
            return;
        }
        if(e%3==0)
        {
            arrySpecial.push(e);
            return;
        }
    })
console.log(arrySpecial);

  在forEach中,不能使用 continue 和 break ,可以使用 return 或 return false 跳出循环,效果与 for 中 continue 一样。注意该方法无法一次结束所有循环,需要一次性结束所有循环,还是老老实实使用for方法。

 

  3、$.each()

  这是jQuery的方法,用于遍历 DOM时很方便,偷懒必备。

  在该方法中,同样是使用 return 或 return false 跳出循环,效果类似 效果与 for 中 break,结束所有循环。有兴趣的同学亲自动手尝试下。

 

  对于跳出循环的方法比较, for方法是可以满足各种场景,但我们也得跟上时代的潮流,在合理的场景下,推荐使用forEach 方法。

 

 

  个人见解,难免有错漏,望不吝赐教


评论: