js常用的遍历函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zyf1550397589/article/details/81126401

1.for循环,需要知道数组的长度,才能遍历

var arr =['2','豆豆熊',true,'HelloWorld'];
        for (var i = 0; i < arr.length; i++) {
            console.log(arr[i]);
        }

这里写图片描述

2. forEach循环,循环数组中每一个元素并采取操作, 没有返回值, 可以不用知道数组长度

var arr =['2','豆豆熊',true,'HelloWorld'];
          arr.forEach((i,index)=>{
            i='forEach遍历,'+i;
            console.log(i);
        })

这里写图片描述

3.map函数,遍历数组每个元素,并回调操作,需要返回值,返回值组成新的数组,原数组不变

var arr =['2','豆豆熊',true,'HelloWorld'];
           var newstate=arr.map(function(index) {
            index="map遍历"+index;
            console.log(index)
            return index;
        })
        console.log("newstate", newstate);

这里写图片描述

4.filter函数, 过滤通过条件的元素组成一个新数组, 原数组不变

var arr =['2',3,'豆豆熊',true,'HelloWorld'];
          var newstate=arr.filter(function(index) {
            return typeof index==='number';
          })
          console.log(arr,newstate);

这里写图片描述

5.some函数,遍历数组中是否有符合条件的元素,返回Boolean值

var arr =['2',3,'豆豆熊',true,'HelloWorld'];
          var newstate=arr.some(function(index) {
            return typeof index==='number';
          })
          console.log(arr,newstate);

这里写图片描述

6.every函数, 遍历数组中是否每个元素都符合条件, 返回Boolean值

var arr =['2',3,'豆豆熊',true,'HelloWorld'];
          var newstate=arr.every(function(index) {
            return typeof index==='number';
          })
          console.log(arr,newstate);

这里写图片描述

7.遍历对象,常用方法 in

let obj ={a:'2',b:3,c:true};
        for (var i in obj) {
            console.log(obj[i],i)
        }
        console.log(obj);

这里写图片描述
小总结:
1、map()速度比foreach()快
2、map():返回一个新的Array,不对原数组产生影响,每个元素为调用func的结果。
3、foreach()不会产生新数组,没有返回值,只是针对每个元素调用func
3、map()因为返回数组所以可以链式操作,foreach不能
4、map()要比foreach()执行速度更快
5、filter()返回一个符合func条件的元素数组
6、some()返回一个boolean,判断是否有元素是否符合func条件
7、every()返回一个boolean,判断每个元素是否符合func条件

猜你喜欢

转载自blog.csdn.net/zyf1550397589/article/details/81126401