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 纠正 cleanWhitespace函数
Mar 11 Javascript
Javascript 判断Flash是否加载完成的代码
Apr 12 Javascript
IE下js调试工具Companion.JS
Oct 15 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
Jul 11 Javascript
jQuery基本选择器选择元素使用介绍
Apr 18 Javascript
js实现砖头在页面拖拉效果
Nov 20 Javascript
微信小程序 网络API发起请求详解
Nov 09 Javascript
js仿拉勾网首页穿墙广告效果
Mar 08 Javascript
div中文字内容溢出常见的解决方法
Mar 16 Javascript
微信小程序分页加载的实例代码
Jul 11 Javascript
JavaScript表单即时验证 验证不成功不能提交
Aug 31 Javascript
浅谈node模块与npm包管理工具
Jan 03 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
win2003服务器使用WPS的COM组件的一些问题解决方法
2012/01/11 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
向当前style sheet中插入一个新的style实现方法
2013/04/01 Javascript
javascript实现列表切换效果
2016/05/02 Javascript
javascript 利用arguments实现可变长参数
2016/11/21 Javascript
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例
2016/12/06 Javascript
解决linux下node.js全局模块找不到的问题
2018/05/15 Javascript
在vue项目中使用md5加密的方法
2018/09/14 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
详解滑动穿透(锁body)终极探索
2019/04/16 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
Python 对象中的数据类型
2017/05/13 Python
python中如何使用正则表达式的集合字符示例
2017/10/09 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
python爬虫 基于requests模块的get请求实现详解
2019/08/20 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
2020/03/30 Python
CSS3 不定高宽垂直水平居中的几种方式
2020/03/26 HTML / CSS
CSS3中animation实现流光按钮效果
2020/12/21 HTML / CSS
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
Myprotein蛋白粉美国官网:欧洲畅销运动营养品牌
2016/11/15 全球购物
瑜伽灵感珠宝:Satya Jewelry
2018/01/06 全球购物
2014爱耳日宣传教育活动总结
2014/03/09 职场文书
我的小天地教学反思
2014/04/30 职场文书
企业文化标语大全
2014/06/10 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
2014国庆节标语口号
2014/09/19 职场文书
欠款证明
2015/06/24 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
js基础语法与maven项目配置教程案例
2021/07/15 Javascript
Linux安装Docker详细教程
2022/07/07 Servers