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游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
Jan 23 Javascript
使用JavaScript 实现各种跨域的方法
May 08 Javascript
js用正则表达式来验证表单(比较齐全的资源)
Nov 17 Javascript
javascript用函数实现对象的方法
May 14 Javascript
JavaScript中的toUTCString()方法使用详解
Jun 12 Javascript
jquery结婚电子请柬特效源码分享
Aug 21 Javascript
js实现常用排序算法
Aug 09 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
Nov 01 Javascript
jQuery实现字体颜色渐变效果的方法
Mar 29 jQuery
js求数组中全部数字可拼接出的最大整数示例代码
Aug 25 Javascript
js之切换全屏和退出全屏实现代码实例
Sep 09 Javascript
JS正则表达式验证密码强度
Mar 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/12/14 PHP
国外十大最流行的PHP框架排名
2013/07/04 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
php json中文编码为null的解决办法
2016/12/14 PHP
Laravel 队列使用的实现
2019/01/08 PHP
微信支付之JSAPI公众号支付详解
2019/05/15 PHP
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
javascript数组的使用
2013/03/28 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
JS方法调用括号的问题探讨
2014/01/24 Javascript
JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
2016/11/30 Javascript
JS中IP地址与整数相互转换的实现代码
2017/04/10 Javascript
Vue.js学习教程之列表渲染详解
2017/05/17 Javascript
jQuery实现下拉菜单的实例代码
2017/06/19 jQuery
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
关于Webpack dev server热加载失败的解决方法
2018/02/22 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
Vue中用JSON实现刷新界面不影响倒计时
2020/10/26 Javascript
react+antd 递归实现树状目录操作
2020/11/02 Javascript
Python常见文件操作的函数示例代码
2011/11/15 Python
Python操作Mysql实例代码教程在线版(查询手册)
2013/02/18 Python
Python设计实现的计算器功能完整实例
2017/08/18 Python
tf.truncated_normal与tf.random_normal的详细用法
2018/03/05 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
解决pycharm上的jupyter notebook端口被占用问题
2019/12/17 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书
小学中队长竞选稿
2015/11/20 职场文书