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实现的支持lrc歌词的播放器
May 17 Javascript
让元素在网页中可拖动示例代码
Aug 13 Javascript
javascript将数字转换整数金额大写的方法
Jan 27 Javascript
Javascript数组操作函数总结
Feb 05 Javascript
JS实现淡蓝色简洁竖向Tab点击切换效果
Oct 06 Javascript
js中开关变量使用实例
Feb 24 Javascript
Angular2 组件通信的实例代码
Jun 23 Javascript
vue axios 在页面切换时中断请求方法 ajax
Mar 05 Javascript
vue的安装及element组件的安装方法
Mar 09 Javascript
vue使用自定义icon图标的方法
May 14 Javascript
详解React+Koa实现服务端渲染(SSR)
May 23 Javascript
基于vue.js组件实现分页效果
Dec 29 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
我常用的几个类
2006/10/09 PHP
PHP获取MSN好友列表类的实现代码
2013/06/23 PHP
php object转数组示例
2014/01/15 PHP
php通过strpos查找字符串出现位置的方法
2015/03/17 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
$()JS小技巧
2007/07/21 Javascript
javascript Excel操作知识点
2009/04/24 Javascript
捕获和分析JavaScript Error的方法
2014/03/25 Javascript
jQuery插件slider实现拖动滑块选取价格范围
2015/04/30 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
JS动态加载脚本并执行回调操作
2016/08/24 Javascript
jQuery实现ajax无刷新分页页码控件
2017/02/28 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
2018/08/31 Javascript
微信小程序使用for循环动态渲染页面操作示例
2018/12/25 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
Python数组条件过滤filter函数使用示例
2014/07/22 Python
Python简单计算文件夹大小的方法
2015/07/14 Python
python监控进程状态,记录重启时间及进程号的实例
2019/07/15 Python
Python 中的pygame安装与配置教程详解
2020/02/10 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
香港连卡佛百货官网:Lane Crawford
2019/09/04 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
简单而又朴实的个人求职信分享
2013/12/12 职场文书
巧克力蛋糕店创业计划书
2014/01/14 职场文书
四群教育工作实施方案
2014/03/26 职场文书
《小猪家的桃花树》教学反思
2014/04/11 职场文书
物资采购方案
2014/06/12 职场文书
收银员岗位职责范本
2015/04/07 职场文书
初中政治教师教学反思
2016/02/23 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
PHP使用非对称加密算法RSA
2021/04/21 PHP
Mysql开启外网访问
2022/05/15 MySQL