ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

js数组遍历的方法

2020-02-21 22:50:59  阅读:128  来源: 互联网

标签:function arr 遍历 console js 数组 返回值


遍历数组的几种方法


前言

在工作或者学习中,我们经常处理基本数据类型,其中数组更是天天见面,js中数组遍历的方法种类众多,所以在这里,我总结了一下,准备写一写关于数组遍历的常见方法,废话少说,请少侠看代码。

测试用例

    var arr = [1,2,3,4,5,6]

方法一  for 循环

for循环,也是最常见的,最简单的
 
  for(var i=0; i<arr.length;i++){
        console.log(arr[i]);
    };
```

**方法二 for in**

循环遍历数组的属性
```
  for(var i in arr){
        console.log(arr[i]);
    };
```

**方法三  arr.forEach(function(a){})**

参数:回调函数
功能:遍历
返回值: undefined 返回值内有影响
是否改变原数组: 不会

```
 arr.forEach(function(a){    //a是数组的第一个值 b 是索引 c是数组本身
        console.log(a);
    });   
```

**方法四  arr.map(function(a){})**

参数 : 回调函数
功能 : 遍历
返回值 :  是一个数组,数组里是undefined,长度为数组的长度
是否改变原数组 :  没有
回调函数的返回值造成了什么影响 :  被放在了map最终的数组内

```
arr.map(function(a){    //a是数组的第一个值 b 是索引 c是数组本身
    console.log(a);
});   
```

**方法五  arr.some(function(a){})**

参数 : 回调函数
功能 : 遍历
返回值 :  符合 true 不符合 false
是否改变原数组 : 没有
回调函数的返回值造成了什么影响 : 遍历数组中是否有符合条件的值,只要有符合,那么就是true,同时停止遍历 如果没有符合的值 一直执行 直到遍历结束 返回false。
```
arr.some(function(a){    //a是数组的第一个值 b 是索引 c是数组本身
    console.log(a);
});   
```

**方法六  arr.filter(function(a){})**

参数 :回调函数
功能 :遍历
返回值 : true 并成为一个新数组
是否改变原数组 : 没有
回调函数的返回值造成了什么影响 :filter可以过滤值,并返回到一个新数组中
```
arr.filter(function(a){    //a是数组的第一个值 b 是索引 c是数组本身
    console.log(a);
});
```

**方法七 arr.every(function(a){})**

参数 :回调函数
功能 :遍历
返回值 : 符合 true 不符合 false
是否改变原数组 : 没有
回调函数的返回值造成了什么影响 :遍历数组中是否有符合条件的值,必须全部符合,才是true,如果有一个false;那么就是false;同时停止遍历

```
 var res = arr.every(function(a){  //a是数组第一个值
        console.log(a);
        return a>0;
    });
    console.log(res);
```

> 结束语

这是我所知道的遍历数组的方法,还有没考虑到和有什么错误的地方,欢迎大家留言补充,这七种方法的其中五种不怎么好记和理解,所以我给他们每一个方法配了一个说明,这样子应该可以让大家很容易的记下来这五种方法,希望大家了解后勤加练习一下,上手去操作一下,比在这看100遍都管用,如果本文对您有帮助的话,请点赞和转发, 让我可以帮助到更多的人,让我们一起加油吧!

> 原创作品,违法必究

> 疫情期间,我们逆战必胜

标签:function,arr,遍历,console,js,数组,返回值
来源: https://www.cnblogs.com/cznSH/p/12343553.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有