JavaScript数组的5种迭代方法


Posted in Javascript onSeptember 29, 2017

ES5为数组定义了5个迭代方法。每种方法都接收两个参数。要在每一项上运行的函数和(可选的)运行该函数的作用域对象--影响this的值。//其中(可选的)这个参数暂时未遇到过。

其中,函数都接收三个参数(数组中的每一项、每一项的索引值、数组对象本身)。

下面是5中方法的介绍:

every() : 对数组中的每一项执行函数,如果每一项都返回 true ,则该方法返回 true。

some():     对数组中的每一项执行函数,只要有一项返回了 true ,则该方法返回 true。

filter():       对数组中的每一项执行函数,把里面返回 true 的项,组成一个数组返回。

forEach()  对数组中的每一项执行函数,没有返回值。类似于for循环。

map()       对数组中的每一项执行函数,返回(处理后的)每一项。

以上5种方法,都不会改变数组本身。

forEach和map的比较:

var arr = [1,2,3,4,5];
  //every() filter() some() forEach() map()
  var res = arr.every(function(i,index,o){
    return i>2;
  });
  console.log(arr); //[1,2,3,4,5]
  console.log(res); //false

  var some = arr.some(function (i, k, l) {
    return i>2;
  });
  console.log(arr);//[1,2,3,4,5]
  console.log(some);//true

  var filter = arr.filter(function (i, k, l) {
    return i>2;
  });
  console.log(arr);//[1,2,3,4,5]
  console.log(filter);//[3,4,5]

  var forEach = arr.forEach(function (i, k, l) {
    return i>2;
  });
  console.log(arr);//[1,2,3,4,5]
  console.log(forEach);//undefined

  var map = arr.map(function (i, k, l) {
    return i>2;
  });
  console.log(arr);//[1,2,3,4,5]
  console.log(map);//[false,false,true,true,true]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 写的简单进度条控件
Jan 22 Javascript
跟着JQuery API学Jquery 之三 筛选
Apr 09 Javascript
jQuery 打造动态下滑菜单实现说明
Apr 15 Javascript
jquery-syntax动态语法着色示例代码
May 14 Javascript
JavaScript获取图片真实大小代码实例
Sep 24 Javascript
JS中FRAME的操作问题实例分析
Oct 21 Javascript
JavaScript验证Email(3种方法)
Sep 21 Javascript
搞定immutable.js详细说明
May 02 Javascript
深入理解Ajax的get和post请求
Jun 02 Javascript
JavaScript第一篇之实现按钮全选、功能
Aug 21 Javascript
angular-ui-sortable实现可拖拽排序列表
Dec 28 Javascript
jQuery实现的简单对话框拖动功能示例
Jun 05 jQuery
微信小程序之GET请求的实例详解
Sep 29 #Javascript
js仿微信抢红包功能
Sep 25 #Javascript
给vue项目添加ESLint的详细步骤
Sep 29 #Javascript
微信小程序 POST请求的实例详解
Sep 29 #Javascript
微信小程序之数据缓存的实例详解
Sep 29 #Javascript
微信小程序getPhoneNumber获取用户手机号
Sep 29 #Javascript
微信小程序中setInterval的使用方法
Sep 29 #Javascript
You might like
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
js下函数般调用正则的方法附代码
2008/06/22 PHP
PHP获取网站域名和地址的代码
2008/08/17 PHP
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
基于JavaScript如何实现ajax调用后台定义的方法
2015/12/29 Javascript
JS动态给对象添加属性和值的实现方法
2016/10/21 Javascript
vue多种弹框的弹出形式的示例代码
2017/09/18 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
vue源码解析之事件机制原理
2018/04/21 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
node.js 如何监视文件变化
2020/09/01 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
详谈python3 numpy-loadtxt的编码问题
2018/04/29 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
英国领先的葡萄酒专家:Majestic Wine
2017/05/30 全球购物
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
美国在线和移动免费会员制批发零售商:Boxed(移动端的Costco)
2020/01/02 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
Prototype是怎么扩展DOM的
2014/10/01 面试题
美德少年事迹材料1000字
2014/08/21 职场文书
教师作风建设剖析材料
2014/10/11 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript
win sever 2022如何占用操作主机角色
2022/06/25 Servers