首页 > 其他分享 >数组遍历的方法

数组遍历的方法

时间:2024-01-17 14:11:09浏览次数:18  
标签:el arr 遍历 元素 let 数组 返回值 方法

1、forEach ( )

forEach() 方法对数组的每个元素执行一次给定的函数,不会改变原数组,没有返回值。

数组中的每个值都会调用回调函数,回调函数有三个参数:

  • currentValue: 必需。当前元素。
  • index: 可选。当前元素的索引值。
  • arr: 可选。当前元素所属的数组对象。
  // forEach 不会改变原数组 没有返回值
      let arr = [1, 2, 3, 4, 5];
      arr.forEach((el) => {
        console.log(el);
      });

2、map ( )

map() 方法创建一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成,不会改变新数组,有返回值,返回值为符合条件的元素构成的新数组,该方法不会对空数组进行检测。

该方法的第一个参数为回调函数有三个参数:

  • currentValue: 必需。当前元素。
  • index: 可选。当前元素的索引值。
  • arr: 可选。当前元素所属的数组对象。
    // map 不会改变原数组 有返回值
      let arr = [1, 2, 3, 4, 5];
      var result = arr.map((el) => {
        return el * 2;
      });
      console.log(result); // 输出结果为:[2, 4, 6, 8, 10]

3、filter ( )

filter() 方法创建给定数组一部分的浅拷贝,其包含通过所提供函数实现的测试的所有元素,不会改变原数组,有返回值,返回值为符合条件的元素构成的新数组。它的参数是一个回调函数,所有数组元素依次执行该函数,返回结果为true的元素会被返回。

该方法的第一个参数为回调函数有三个参数:

  • currentValue: 必需。当前元素。
  • index: 可选。当前元素的索引值。
  • arr: 可选。当前元素所属的数组对象。
      // filter 不会改变原数组 有返回值
      let arr = [1, 2, 3, 4, 5];
      var result = arr.filter((el) => {
        return el > 2;
      });
      console.log(result); // 输出结果为: [3, 4, 5]

4、for...of

for...of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句,不会改变原数组,有返回值。

语法:

for (variable of iterable) {
  statement
}

其中,有两个参数:

  • variable:每个迭代的属性值被分配给该变量。
  • iterable:一个具有可枚举属性并且可以迭代的对象。
      //   for...of 不会改变原数组,有返回值
      let arr = [1, 2, 3, 4, 5];
      function test() {
        for (let el of arr) {
          el = el + 1;
          console.log(el);   // 输出结果为: 2 3 4 5 6
        }
      }
      test();

5、every ( )

every() 方法测试一个数组内的所有元素是否都能通过指定函数的测试。它返回一个布尔值,不会改变原数组。该方法会对数组中的每一项进行遍历,只有所有元素都符合条件时,才返回true,否则就返回false。

 // every 不会改变原数组 返回值为 Boolean 类型
      let arr = [1, 2, 3, 4, 5];
      let result = arr.every((el) => el > 3);
      console.log(result); // 输出结果为为:false

6、some ( )

some() 方法测试数组中是否至少有一个元素通过了由提供的函数实现的测试。如果在数组中找到一个元素使得提供的函数返回 true,则返回 true;否则返回 false。它不会修改数组。

// some 不会改变原数组 返回值为 Boolean 类型
      let arr = [1, 2, 3, 4, 5];
      let result = arr.some((el) => el > 3);
      console.log(result); // 输出结果为:true

7、find ( )

find() 方法返回数组中满足提供的测试函数的第一个元素的值,返回符合条件的元素,之后的值不会再调用执行函数,否则返回undefined。不会改变原数组,而且对于空数组,函数是不会执行的。

该方法的第一个参数也是一个函数,它有三个参数:

  • currentValue :必需。当前元素。
  • index :可选。当前元素的索引。
  • arr :可选。当前元素所属的数组对象。
 // find 不会改变原数组 有返回值
      let arr = [1, 2, 3, 4, 5];
      let result = arr.find((el) => el > 4);
      console.log(result); // 输出结果为:5
let result2 = arr.find((el) => el > 9); console.log(result2); // 输出结果为:undefined

8、findIndex ( )

findIndex() 方法返回数组中满足提供的测试函数的第一个元素的索引,若没有找到对应元素则返回 -1。不会改变原数组,而且对于空数组,函数是不会执行的。

该方法的第一个参数也是一个函数,它有三个参数:

  • currentValue :必需。当前元素。
  • index :可选。当前元素的索引。
  • arr :可选。当前元素所属的数组对象。
// findIndex 不会改变原数组 有返回值
      let arr = [1, 2, 3, 4, 5];
      let result = arr.findIndex((el) => el > 2);
      console.log(result); // 输出结果为:2
      let result2 = arr.findIndex((el) => el > 6);
      console.log(result2); // 输出结果为:-1

 

标签:el,arr,遍历,元素,let,数组,返回值,方法
From: https://www.cnblogs.com/wanker/p/17969916

相关文章

  • Python字符串删除第一个字符常用的方法!
    字符串是常用的数据类型之一,在Python中,用引号表示字符串,双引号或单引号都可以,保持统一即可。那么Python字符串如何删除第一个字符?想要删除字符串第一个字符,有多种办法可以实现,具体请看下文。1、使用切片切片是Python中一个非常强大的功能,可以用于获取列表、字符串和元......
  • Java Collections.frequency()方法返回集合中指定元素个数
    JavaCollections.frequency()方法具有什么功能呢?下文笔者讲述Collections.frequency()方法的功能简介说明,如下所示:Collections.frequency()方法的功能:返回一个int值,其值给指定对象在集合中出现的次数Collections.frequency()方法的语法publicstaticintfreque......
  • 机房远程监控运维的重要性及实施方法
      在信息时代,机房作为企业的重要基础设施,其稳定性和安全性直接关系到企业的运营和发展。然而,传统的机房运维方式往往存在效率低下、人力成本高昂等问题。为了解决这些问题,机房远程监控运维应运而生。本文将探讨机房远程监控运维的重要性,并介绍其实施方法。一、机房远程监控运维......
  • Gin 控制器的继承,自定义方法
    Gin控制器的继承,自定义方法1我们想直接获取到int类型的数据怎么办/* 当我们获取Get参数时都时获取到的都是string类型,有时候我们想直接获取到int类型,我们就需要转换,如果需要转换的地方多了也会很麻烦, 那我们可以怎么办 解决办法很简单,我们可以写一个baseController来实......
  • 字符串类型内置方法补充
    lstrip&rstrips='khffhksfksf'print(s.lstrip('kn'))print(s.rstrip('sf'))hffhksfksfkhffhksfklower&upperprint(s.upper())KHFFHKSFKSFstartswith&edndswithprint(s.startswith('1'))print(s.startswit......
  • 微软账号密码修改后提示密码错误的解决方法(远程桌面&smb共享访问等)
    众所周知,自从微软将Microsoft账户与Windows账号强制绑定后,使用起来便一直有诸多困难,在MicrosoftSupport和搜索引擎长期搜索解决方案未果,今天偶然在一个佬的博客翻到了这个问题的解决方案,发现确实有效,原因就是网络部分密码更改后,并没有自动向本地系统内各组件同步更新密码,所以在以......
  • python 在排序数组中查找元素的第一个和最后一个位置 多种解法
    二分查找:基于二分查找的算法可以在O(logn)的时间复杂度内解决该问题。具体实现方式是,先使用二分查找找到该元素的位置,然后向左和向右扩展,直到找到第一个和最后一个位置。代码如下:defsearchRange(nums,target):defbinarySearch(nums,target,lower):left,righ......
  • 字符串类型内置方法
    按索引取值name='yryriw9999ndlaanl'print(name[0])print(name[-1])yl切片:步长为正数,从左到右切片print(name[0:7])print(name[0:8])print(name[0:7:2])print(name[0::2])print(name[-4::1])#将打印从倒数第四个字符到字符串末尾的所有字符print(name[-4:-1:1])#......
  • Windows 系统彻底卸载 SQL Server 通用方法!
    SQLServer 真的很难卸载麻烦的是需要准备各种条件才能一点一点的去卸载 他不和其他简单的软件一样去程序里卸载就行  如果数据库卸载不干净,就会导致数据库重装失败。  一、 停止SQL Server服务首先要把SQLServer的服务都关掉,通过Windows最下面搜索框搜......
  • 出现了HTTPSConnectionPool(host=‘huggingface.co‘, port=443)错误的解决方法
    在下载huggingface模型的时候,经常会出现这个错误,HTTPSConnectionPool(host=‘huggingface.co’,port=443)。如在下载Tokenizer的时候,tokenizer=AutoTokenizer.from_pretrained("csebuetnlp/mT5_multilingual_XLSum")就会出现以上的错误HTTPSConnectionPool(host=‘hug......