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 嵌套的函数(作用域链)
Mar 15 Javascript
myFocus slide3D v1.1.0 使用方法与下载
Jan 12 Javascript
jquery常用技巧及常用方法列表集合
Apr 06 Javascript
浅谈JavaScript之事件绑定
Jul 08 Javascript
JS 日期比较大小的简单实例
Jan 13 Javascript
jQuery实现类似淘宝网图片放大效果的方法
Jul 08 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
Feb 05 Javascript
Bootstrap table表格简单操作
Feb 07 Javascript
mac中利用NVM管理不同node版本的方法详解
Nov 08 Javascript
微信小程序云开发实现数据添加、查询和分页
May 17 Javascript
基于Express框架使用POST传递Form数据
Aug 10 Javascript
Vue中computed和watch有哪些区别
Dec 19 Vue.js
微信小程序之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
Netflix将与CLAMP、乙一以及冲方丁等6名知名制作人合伙展开原创动画计划!
2020/03/06 日漫
php入门小知识
2008/03/24 PHP
php启用sphinx全文搜索的实现方法
2014/12/24 PHP
JavaScript中“+=”的应用
2007/02/02 Javascript
JavaScript是否可实现多线程  深入理解JavaScript定时机制
2009/12/22 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
Javascript实现网络监测的方法
2015/07/31 Javascript
jQuery实现鼠标滑过点击事件音效试听
2015/08/31 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
layui实现数据分页功能
2019/07/27 Javascript
如何使用Jquery动态生成二级选项列表
2020/02/06 jQuery
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python实现汉诺塔递归算法经典案例
2021/03/01 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
2018/10/26 Python
python 安装移动复制第三方库操作
2020/07/13 Python
迪卡侬印尼体育用品商店:Decathlon印尼
2020/03/11 全球购物
会计电算化学生个人的自我评价
2014/02/08 职场文书
投资意向书范本
2014/04/01 职场文书
2015个人半年总结范文
2015/03/09 职场文书
工程竣工验收申请报告
2015/05/15 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书
《合作意向书》怎么写?
2019/08/20 职场文书
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
OpenCV 图像梯度的实现方法
2021/07/25 Python
为什么RedisCluster设计成16384个槽
2021/09/25 Redis
golang操作rocketmq的示例代码
2022/04/06 Golang