关于数组中forEach() 、map()、filter()、reduce()、some()、every()的总结

1、forEach()

var arr = [1,2,3,4]; arr.forEach((item,index,arr) => { console.log(item) //结果为1,2,3,4 }) //forEach遍历数组,无返回值,不改变原数组,仅仅只是遍历、常用于注册组件、指令等等。

2、map()

var arr = [1,2,3,4]; arr.map((item,index,arr) => { return item*10 //新数组为10,20,30,40 }) //map遍历数组,返回一个新数组,不改变原数组的值。

3、filter()

var arr = [1,2,3,4]; arr.filter((item,index,arr) => { return item > 2 //新数组为[3,4] }) //filter过滤掉数组中不满足条件的值,返回一个新数组,不改变原数组的值。

4、reduce()

var arr = [1,2,3,4]; arr.reduce((result,item,index,arr) => { console.log(result) // 1 3 6 result为上次一计算的结果 console.log(item) // 2 3 4 console.log(index) // 1 2 3 return result+item //最终结果为10 }) //reduce 让数组的前后两项进行某种计算。然后返回其值,并继续计算。不改变原数组,返回计算的最终结果,从数组的第二项开始遍历。

5、some()

var arr = [1,2,3,4]; arr.some((item,index,arr) => { return item > 3 //结果为true }) //遍历数组每一项,有一项返回true,则停止遍历,结果返回true。不改变原数组

6、every()

var arr = [1,2,3,4];
arr.every((item,index,arr) => {return item > 1 //结果为false }) //遍历数组每一项,每一项返回true,则最终结果为true。当任何一项返回false时,停止遍历,返回false。不改变原数组

以上6个方法均为ES6语法,IE9及以上才支持。不过可以通过babel转意支持IE低版本。 
以上均不改变原数组。 
some、every返回true、false。 
map、filter返回一个新数组。 
reduce让数组的前后两项进行某种计算,返回最终操作的结果。 
forEach 无返回值。

转自:https://www.cnblogs.com/zhengyan/p/9668021.html

转载于:https://www.cnblogs.com/sweeeper/p/11243957.html

ES6数组新增的几个方法相关推荐

  1. es6数组去重的三种方法

    1.es6的三种方法 let arr = [2, 5, 3, 3, 5, 7, 3, 7, 3, 7, 2, 2]// (1)拓展运算符 + new Set 方法let narr1 = [...new ...

  2. ES6中新增数组遍历方法

    ES6中新增的方法 遍历方法: forEach(),fifter(),some(): array.forEach(function(currentValue,index,arr)) // curren ...

  3. ES6中字符串和数组新增的方法

    ES6中字符串和数组新增的方法 一.字符串中新增的方法 1.模板字符串 (表达式.函数的调用.变量) 2.repeat(次数)函数 : 将目标字符串重复N次,返回一个新的字符串,不影响目标字符串 3. ...

  4. ES6数组方法find()、findIndex()的总结

    本文主要讲解ES6数组方法find()与findIndex(),关于JS的更多数组方法,可参考以下: ①JavaScript 内置对象之-Array ②ES5新增数组方法(例:map().indexO ...

  5. es5的data语法_ES5与ES6数组方法总结

    Array 对象属性 constructor 返回对创建此对象的数组函数的引用. length 设置或返回数组中元素的数目. prototype 使您有能力向对象添加属性和方法. 传统Array 对象 ...

  6. 你知道ES5 和 ES6 的区别吗?,能说出说几个 ES6 的新增方法吗?

    目录 ES5 和 ES6 的区别 ES6 的新增方法 1.新增声明命令 let 和 const 1.1)特点 2.模板字符串(Template String) 3.函数的扩展 3.1)函数的默认参数 ...

  7. ES5和ES6数组遍历方法详解

    ES5和ES6数组遍历方法详解 在ES5中常用的10种数组遍历方法: 1.原始的for循环语句 2.Array.prototype.forEach数组对象内置方法 3.Array.prototype. ...

  8. ES6中新增字符串方法,字符串模板

    ES6中新增字符串方法,字符串模板 多了两个新方法 startsWith endsWith 返回的是一个Boolean值 let str='git://www.baidu.com/2123123';i ...

  9. 【ES6】es6数组中对象去重,数组对象去重方法总结---filter()与reduce()实践

    es6数组中对象去重 方法一: filter()与findIndex()给数组去重 1. filter()用法 2. findIndex()用法 3. 去重实战 方法二:reduce()去重 1. r ...

最新文章

  1. Python人脸识别+手机推送,老板来了你就会收到短信提示
  2. html语言制作留言条,利用DIV+CSS制作右下角弹出留言板
  3. android 横向滑动事件,android左右手势滑动事件处理
  4. Thymeleaf设置属性值
  5. 显示Flash时控制其的宽度与高度
  6. 【SSL】openssl 提取 PKCS 证书库中的公钥、私钥、证书、密钥、CA证书
  7. 面试官问你的缺点是什么,该如何回答?
  8. java实现分页打印功能_web 页面分页打印的实现
  9. java用i/o查看文件_Java文件I / O基础
  10. payload的使 常用xss_Sony某个深度子域上的XSS
  11. Xray配合awvs漏洞扫描
  12. 软件测试-黑盒测试方法(一)---等价类划分、边界值、因果图、判定表
  13. 抓包工具Charles-Windows下http/https抓包
  14. 计算机字的符号,特殊符号图案大全
  15. java二进制保存图片_Java中如何把图片转换成二进制流
  16. STM8-STVD+Cosmic编译输出信息参数配置
  17. ur机器人编程-坐标系
  18. unity Quality Settings 质量设置
  19. 多开技术的出现发挥了什么作用?
  20. 高中信息技术python及答案_高中信息技术《Python语言》模块试卷.docx

热门文章

  1. Python文件基本操作
  2. [译]yield关键字都做了什么?
  3. 12月21日云栖精选夜读:阿里云总裁胡晓明:AI泡沫过后,下一站是“产业AI”...
  4. 关于HP ILO 卡图形界面无响应的解决方案
  5. session存入redis或memcached
  6. 调用ffmpeg库编译时出现common.h:175:47: error: 'UINT64_C' was not declared in this scope
  7. CentOS6 kvm添加网卡桥接口脚本
  8. oracle怎么将一列挪到另一列,详细讲解Oracle数据库的数据迁移方法
  9. Ansj中文分词Java开发小记
  10. python的re.findall()函数中的括号问题