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

js中常用的一些遍历方法,及一些跳出循环的方法1.首先看看跳出循环的方法1)结束本次循环进入下一次循环:continue:for循环、forin、forofreturntrue/false:forEach2)结束整个循环break:for循环、forin、forof、while、do{}while()、trycatch:forEach等各种需要终止循环的程序3)注意:如果有两层fo…

大家好,又见面了,我是你们的朋友全栈君。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146011.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jsonobject转string数组_jsonobject.parsearray

    jsonobject转string数组_jsonobject.parsearray1.String转JSONObjectStringjsonMessage=”{\”语文\”:\”88\”,\”数学\”:\”78\”,\”计算机\”:\”99\”}”;JSONObject myJson=JSONObject.fromObject(jsonMessage);2.String转JSONArrayStringjsonMessage=”[{‘nu

    2022年10月4日
    0
  • idea 2021 11.1 激活码_最新在线免费激活「建议收藏」

    (idea 2021 11.1 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlF6EG2ZUBVX-eyJsaWN…

    2022年3月28日
    129
  • 6,ORM组件XCode(撬动千万级数据)

    6,ORM组件XCode(撬动千万级数据)

    2021年8月8日
    92
  • WPF教程(二) WPF vs WinForms

    在前面的章节,我们讨论了WPF是什么,还涉及了一点点WinForms。在本章节,我将尝试比较两者,尽管它们服务的目的一样,却存在很多的区别。如果你以前从来没有接触过WinForms,或者WPF是你学习的第一种GUI框架,请跳过这一章节。但是如果你有兴趣的话,不妨尝试一读。先说说两者最重要的区别。WinForms只是标准窗体控件顶部的一层(如文本框),而WPF从零开始,几乎在所有场景下都不依赖于

    2022年4月9日
    42
  • js数组拼接的四种方法[通俗易懂]

    js数组拼接的四种方法[通俗易懂]vara=[1,2,3,4,5,6];varb=[&quot;foo&quot;,&quot;bar&quot;,&quot;fun&quot;];最终的结果是:[1,2,3,4,5,6,&quot;foo&quot;,&quot;bar&quot;,&quot;fun&quot;]方法1:concatc=a.concat(b);c是新数组,此时内存使用有,c,a,b三个数组。方法2:

    2022年6月14日
    35
  • verilog hdl与fpga数字系统设计_简易交通信号灯控制系统

    verilog hdl与fpga数字系统设计_简易交通信号灯控制系统1、系统设计要求该交通灯控制器用于主干道与支道公路的交叉路口,要求是优先保证主干道的畅通,因此,设计要求如下。1、平时处于“主干道绿灯,支道红灯”状态,只有在支道有车辆要穿过主干道时,才将交通灯切向“主干道红灯,支道绿灯”,一旦支道无车辆通过路口,交通灯又回到“主干道绿灯,支道红灯”的状态。2、主干道每次通行的时间不得短于1min,支路每次通行的时间不得长于20s,而这两个状态交换过程中出现“主干道黄灯,支道红灯”和“主干道红灯,支道黄灯”的状态,持续时间都为4s。2、设计分析1、用状态

    2022年9月24日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号