1.首先看看跳出循环的方法

1)结束本次循环进入下一次循环:

continue:for循环 、 for in 、 for of

return true/false:for Each 

2)结束整个循环

break:for循环 、 for in 、 for of、while、do{}while()、

try catch:for Each等各种需要终止循环的程序

3)注意:如果有两层for循环,内层continue只结束内层本次循环,内层break只结束内层循环

for(var i=1;i<=5;i++){
                 for(var j=1;j<=3;j++){
                     if(j==2){
                         break; //i取每个值时,都会执行j的循环,但是当j==2时,本次i对应的j循环就全部结束,进入下一个i的j循环
                     }
                     alert(j)
                 }
             }

2.js常用的循环遍历

1)array.map(function(currentValue,index,arr),thisValue)   返回数组

     map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理的后值。 

     map()方法按照原始数组元素顺序依次处理元素。 

var numbers = [1,2,3,4];
                     function myFunction(num,index,arr){
             
                         console.log('arr',arr);
             
                         console.log('index',index);
             
                         console.log('num',num);
             
                         return num * 2;
             
                     }
                        var mm = numbers.map(myFunction);
                        console.log(mm)    //[2,4,6,8]

2)array.some(function(currentValue,index,arr),thisValue)    返回布尔值

some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。

some() 方法会依次执行数组的每个元素:

  • 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
  • 如果没有满足条件的元素,则返回false。
var ages = [3, 10, 18, 20];
 function checkAdult(age) {
     return age >= 18;
 }
 var m= ages.some(checkAdult);  //true

3)Object.keys(obj|array)   返回数组

返回一个所有元素为字符串的数组,其元素来自于从给定的object上面可直接枚举的属性。这些属性的顺序与手动遍历该对象属性时的一致。

var arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']

// array like object
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // console: ['0', '1', '2']

4)array.filter(function(currentValue,index,arr), thisValue)   返回数组

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。

var ages = [32, 33, 16, 40];
 function checkAdult(age) {
     return age >= 18;
 }
 var m= ages.filter(checkAdult); //[32,33,40]


5)for of 一般用来遍历数组(一般不用for in遍历数组:会把数组所有原型属性及方法都列举出来影响预期结果)

var array = ["first","second","third","fourth"];
for(var item of array){
                 if (item == "third") {
                    break;
                 }
                 alert(item);// first,sencond
             }

6)for in 用来遍历对象属性(使用for in会遍历数组所有的可枚举属性,包括原型)

  定义:用于循环遍历数组或对象属性,fot in循环里面的index是string类型的,

                 代码每执行一次,就会对数组的元素或者对象的属性进行一次操作

     缺点:某些情况下,会出现随机顺序的遍历,因为里面的值是string类型,所以
                增加了转换过程,因此开销较大

     优点:可以遍历数组的键名,遍历对象简洁方便

var obj={
                  name:'zs',
                  age:'23',
                  sex:'男'
              }      for(var key in obj){
                 if (key == "age") {
                    continue;
                 }
                 alert(key);// ['name','sex']
             }