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 相关文章推荐
Jquery乱码的一次解决过程 图解教程
Feb 20 Javascript
Textarea与懒惰渲染实现代码
Jan 04 Javascript
探讨js中的双感叹号判断
Nov 11 Javascript
javascript三元运算符用法实例
Apr 16 Javascript
JS实现网站菜单拖拽移位效果的方法
Sep 24 Javascript
js使用cookie记录用户名的方法
Nov 26 Javascript
微信小程序三级联动地址选择器的实例代码
Jul 12 Javascript
浅谈关于axios和session的一些事
Jul 13 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
Oct 24 Javascript
js中apply与call简单用法详解
Nov 06 Javascript
JavaScript图片处理与合成总结
Mar 04 Javascript
vue实现一个炫酷的日历组件
Oct 08 Javascript
微信小程序之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
PHP循环结构实例讲解
2014/02/10 PHP
php输出xml属性的方法
2015/03/19 PHP
深入探究PHP的多进程编程方法
2015/08/18 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
详解使用php调用微信接口上传永久素材
2017/04/11 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
javascript学习笔记(三) String 字符串类型介绍
2012/06/19 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
2013/04/10 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
jQuery实现的tab标签切换效果示例
2016/09/05 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
[01:39](回顾)各路豪强针锋相对,几经鏖战四强产生
2014/07/01 DOTA
Python优先队列实现方法示例
2017/09/21 Python
python 拼接文件路径的方法
2018/10/23 Python
对pandas处理json数据的方法详解
2019/02/08 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
python设置随机种子实例讲解
2019/09/12 Python
弄清Pytorch显存的分配机制
2020/12/10 Python
天猫精选:上天猫,就够了
2016/09/21 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
大学总结自我鉴定
2014/01/18 职场文书
大学学雷锋活动总结
2014/06/26 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
体育委员竞选稿
2015/11/21 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书