js中常用的一些遍历方法,及一些跳出循环的方法

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()方法按照原始数组元素顺序依次处理元素。 

扫描二维码关注公众号,回复: 17272595 查看本文章

                    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']
            }

猜你喜欢

转载自blog.csdn.net/qq_36764510/article/details/101026410