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 相关文章推荐
通过JS获取用户本地图片路径并显示的代码
Feb 16 Javascript
使用JavaScript实现连续滚动字幕效果的方法
Jul 07 Javascript
jquery实现表单验证并阻止非法提交
Jul 09 Javascript
分享使用AngularJS创建应用的5个框架
Dec 05 Javascript
详解vue.js的devtools安装
May 26 Javascript
JavaScript 日期时间选择器一些小结
Apr 02 Javascript
微信小程序实现预览图片功能
Oct 22 Javascript
微信小程序当前时间时段选择器插件使用方法详解
Dec 28 Javascript
详解JSON和JSONP劫持以及解决方法
Mar 08 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
Aug 26 Javascript
Vue中keep-alive组件的深入理解
Aug 23 Javascript
uniapp微信小程序:key失效的解决方法
Jan 20 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
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
php预定义变量使用帮助(带实例)
2013/10/30 PHP
document 和 document.all 分别什么时候用
2006/06/22 Javascript
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
js同时按下两个方向键
2007/12/01 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
BootStrap 页签切换失效的解决方法
2017/08/17 Javascript
微信小程序之数据缓存的实例详解
2017/09/29 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
Python和GO语言实现的消息摘要算法示例
2015/03/10 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
2016/05/03 Python
Python实现句子翻译功能
2017/11/14 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
Python人脸识别第三方库face_recognition接口说明文档
2019/05/03 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
python openpyxl模块的使用详解
2021/02/25 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
类如何去实现接口
2013/12/19 面试题
实习自我鉴定模板
2013/09/28 职场文书
仓库管理专业个人的自我评价
2013/12/30 职场文书
个人简历自我评价
2014/01/06 职场文书
合作意向书模板
2014/03/31 职场文书
销售顾问工作计划书
2014/08/15 职场文书
2014年学生会干事工作总结
2014/11/07 职场文书
企业催款函范本
2015/06/24 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python
Nginx反向代理学习实例教程
2021/10/24 Servers