我的编程空间,编程开发者的网络收藏夹
学习永远不晚

es6中迭代数组的方法有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

es6中迭代数组的方法有哪些

这篇文章主要介绍了es6中迭代数组的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇es6中迭代数组的方法有哪些文章都会有所收获,下面我们一起来看看吧。

迭代方法:1、map,用于根据某种规则映射数组,得到映射之后的新数组;2、filter,用于根据判断的条件,进行元素筛选;3、forEach,相当于使用for循环遍历数组;4、some,用于判断数组中是否有满足条件的元素;5、every,用于判断数组中是否所有元素都满足条件;6、findIndex,用于找元素下标;7、reduce,可遍历数组元素,为每一个元素执行一次回调函数。

Array应该是es6中最常用的类型了,它和其他语言中的数组一样也是一组有序的数据,但是不同的是,ECMAscript数组中数组的每个槽位可以储存任意类型的数据,意思就是说,我们可以在第一个槽位中储存字符串,第二个是数值,第三个是对象。而ECMAscript数组中最常使用的就是迭代方法,下面为大家详细介绍一下。

ES6数组的7种迭代方法

1、map()方法

对数组每一项都传入运行函数,返回由每次函数调用的结果构成的数组。

作用: 根据某种规则映射数组,得到映射之后的新数组

应用场景:

  • (1)数组中所有的元素 * 0.8

  • (2)将数组中的js对象,映射成 html字符串

示例:

 const arr = [10,20,30,40,50]  // 完整写法  // let res = arr.map((item,index)=>{  //     return item * 0.8  //   })  // 熟练写法   let res = arr.map(item=>item*0.8)    console.log(res)  // 返回处理后的新数组   [8, 16, 24, 32, 40]

es6中迭代数组的方法有哪些

2、filter()方法

对数组每一项都传入运行函数,函数返回true的项会组成数组之后返回。

作用:根据判断的条件,进行筛选。

应用场景:

  • (1)筛选数组中的偶数

  • (2)商品价格筛选

示例:

 //需求: 筛选数组里的偶数    const arr = [10,20,33,44,55]    // let res =  arr.filter(item=>{    //   if(item % 2 == 0){    //     return true    //   } else{    //     return false    //   }    // })    // console.log(res)    let res1 = arr.filter(item => item % 2==0)    console.log(res1) // [10, 20, 44]

es6中迭代数组的方法有哪些

3、forEach()方法

对数组每一项都传入运行函数,没有返回值。

作用:相当于 for循环另一种写法

应用场景:遍历数组

示例:

 // 类似for循环遍历      const arr = [13,22,10,55,60]      arr.forEach((item,index)=>{        console.log(item,index)        // item->数组里每一个元素        // index->对应的下标      })

es6中迭代数组的方法有哪些

4、some()方法

对数组每一项都传入运行函数,若有一项函数返回true,则这个方法返回true。

作用:判断数组中是否有满足条件的元素 (逻辑或 ||, 有任意一个满足即可)

应用场景:

  • (1)判断数组中有没有奇数

  • (2)非空判断 : 判断表单数组中,有没有元素value为空

示例:判断是否有奇数

 // 判断是否有奇数    const arr = [10,20,30,40,50]  //  let res =  arr.some(item=>{  //     if(item % 2 == 1){  //       return true  //     } else{  //       return false  //     }  //   })    let res = arr.some(item =>item % 2 == 1)    console.log(res)   //  true: 有满足条件的元素   //  false: 没有满足条件的元素

es6中迭代数组的方法有哪些

5、every()方法

对数组每一项都传入运行函数,若每一项都返回true,则这个方法为true。

作用:判断数组中是否 所有元素 都满足条件 (逻辑&&, 全部满足)

应用场景:

  • (1)判断数组中是否所有元素都是 偶数

  • (2)开关思想 : 购物车是否全选

示例:判断是否全是偶数

 // 判断是否全是偶数      const arr = [10,20,30,40,50]  //  let res =  arr.some(item=>{  //     if(item % 2 == 1){  //       return true  //     } else{  //       return false  //     }  //   })    let res = arr.every(item =>item % 2 == 0)    console.log(res)   // true: 所有满足都满足条件   // false: 有元素不满足条件

es6中迭代数组的方法有哪些

6、findIndex()方法

作用:找元素下标

应用场景:

  • (1)如果数组中是值类型,找元素下标用: arr.indexOf( 元素 )

  • (2)如果数组中是引用类型,找元素下标: arr.findIndex( )

示例:

     let arr = [      {name:'李四',age:20},      {name:'王五',age:20},      {name:'张三',age:20},    ]   let index = arr.findIndex(item=>item.name == '王五')  console.log(index)

es6中迭代数组的方法有哪些

7、reduce()方法

作用:遍历数组元素,为每一个元素执行一次回调函数

应用场景:数组求和/平均值/最大值/最小值

示例:

 const arr = [10,20,30,40,50]   let res =  arr.reduce((sum,item,index)=>{      return sum + item      // console.log(sum,item,index)    },0)

es6中迭代数组的方法有哪些

方法的区别与细节

every()和some()

这些方法中,every()和some()是最相似的,都是从数组中搜素符合某个条件的元素。对every()来说,传入的参数必须对每一项都返回true,它才会返回true。而对于some()来说,只要有一项让传入的函数返回true,它就返回true,下面举个例子:

let numbers = [2,1,4,3,5,4,3];let everyResult = numbers.every((item,index,array) => item >2);console.log(everyResult);  // falselet someResult = numbers.some((item,index,array) => item >2);console.log(someResult);  // true

filter()方法

这个方法基于给定的函数来决定每一项是否应该包含在它返回的数组中。例如:

let numbers = [2,1,4,3,5,4,3];let filterResult = numbers.filter((item,index,array) => item >2);console.log(filterResult);  // 4,3,5,4,3

这里filter返回的数组包含了4,3,5,4,3,因为只有对这些项传入的函数才返回 true,这个方法非常适合从数组中筛选满足给定条件的元素,也是非常常用的迭代方法。

map()

map()方法也是返回一个数组。这个数组的每一项都是对原始数组中同样位置的元素运行传入函数而返回的结果,例如,可以将数组中的每一项都乘以2,并返回包含所有结果的数组,如下:

let numbers = [2,1,4,3];let mapResult = numbers.map((item,index,array) => item *2);console.log(mapResult);  // 4,2,8,6

这个方法返回的数组包含了原始数组中每给数值乘以2的结果。这个方法很适应于创建一个与原数组一一对应的新数组。

forEach()

最后看一看forEach这个方法,这个方法只会对每一项运行传入的函数,没有返回值。其实,本质上,forEach()方法相当于使用for循环遍历数组。例如:

let numbers = [2,1,4,3];numbers.forEach((item,index,array) => {console.log(item)}); // 2,1,4,3

关于“es6中迭代数组的方法有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“es6中迭代数组的方法有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

es6中迭代数组的方法有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

es6中迭代数组的方法有哪些

这篇文章主要介绍了es6中迭代数组的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇es6中迭代数组的方法有哪些文章都会有所收获,下面我们一起来看看吧。迭代方法:1、map,用于根据某种规则映射数组,得
2023-07-04

ES6中数组新增的方法有哪些

小编给大家分享一下ES6中数组新增的方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在ES6之前,创建数组的方式有2种:一: 通过数组字面量let arr
2023-06-29

es6遍历数组的方法有哪些

ES6中遍历数组的方法有以下几种:for...of循环:通过for...of循环可以依次遍历数组中的每个元素。例如:const arr = [1, 2, 3];for (let element of arr) {console.log(e
2023-10-26

Python中有哪些迭代器方法

Python中有哪些迭代器方法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Python
2023-06-14

JavaScript es6的新增数组方法有哪些

这篇文章主要讲解了“JavaScript es6的新增数组方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript es6的新增数组方法有哪些”吧!1. forEach(
2023-06-21

python中有哪些迭代器函数

这期内容当中小编将会给大家带来有关python中有哪些迭代器函数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录