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 使用form表单select类实现级联菜单效果
Dec 19 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
Sep 12 Javascript
JavaScript对象之深度克隆介绍
Dec 08 Javascript
JavaScript缓冲运动实现方法(2则示例)
Jan 08 Javascript
浅析Bootstrap缩略图组件与警示框组件
Apr 29 Javascript
JavaScript SHA1加密算法实现详细代码
Oct 06 Javascript
如何理解Vue的render函数的具体用法
Aug 30 Javascript
webpack v4 从dev到prd的方法
Apr 02 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
Nov 16 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
Aug 31 Javascript
JavaScript交换变量常用4种方法解析
Sep 02 Javascript
浏览器JavaScript调试功能无法使用解决方案
Sep 18 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作的文本留言本的例子(五)
2006/10/09 PHP
ADODB的数据库封包程序库
2006/12/31 PHP
浅析PHP水印技术
2007/02/14 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
javascript字符串拼接的效率问题
2010/12/25 Javascript
JavaScript 参数中的数组展开 [译]
2012/09/21 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
JS表单传值和URL编码转换
2018/03/03 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
vue前端框架—Mint UI详解(更适用于移动端)
2019/04/30 Javascript
JS实现纵向轮播图(初级版)
2020/01/18 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
python中文编码问题小结
2014/09/28 Python
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
Python max内置函数详细介绍
2016/11/17 Python
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
Python产生Gnuplot绘图数据的方法
2018/11/09 Python
Python程序打包工具py2exe和PyInstaller详解
2019/06/28 Python
pycharm安装及如何导入numpy
2020/04/03 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
西班牙床垫网上商店:Colchones.es
2018/05/06 全球购物
服装设计专业自荐书范文
2013/12/30 职场文书
公司庆典活动邀请函
2014/01/09 职场文书
在校大学生个人的自我评价
2014/02/13 职场文书
岗位职责说明书模板
2014/07/30 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
详解MySQL主从复制及读写分离
2021/05/07 MySQL
Python调用腾讯API实现人脸身份证比对功能
2022/04/04 Python
python双向链表实例详解
2022/05/25 Python
VMware虚拟机安装 Windows Server 2022的详细图文教程
2022/09/23 Servers