js常用的遍历函数

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

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

这里写图片描述

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

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

这里写图片描述

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);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这里写图片描述

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

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

这里写图片描述

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

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

这里写图片描述

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

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

这里写图片描述

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

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

这里写图片描述
小总结:
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条件
8、js中every和some都是对数组进行迭代操作的函数

区别
every() 开始循环,只要有任何一项返回false,将会跳出循环,不会继续向下迭代
some() 开始循环,一直在找符合条件的值,一旦遇到有一项返回true,将会跳出循环,不会继续向下迭代


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

posted @ 2022-01-30 12:29  naonaoa  阅读(338)  评论(0编辑  收藏  举报