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窗口功能指南之在窗口中书写内容
Jul 21 Javascript
JQuery扩展插件Validate 3通过参数设置错误信息
Sep 05 Javascript
javascript强大的日期函数代码分享
Sep 04 Javascript
jquery Tab效果和动态加载的简单实例
Dec 11 Javascript
js获取Get值的方法
Sep 29 Javascript
学习vue.js中class与style绑定
Dec 03 Javascript
canvas学习之API整理笔记(一)
Dec 29 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
Mar 01 Javascript
Vue-cli项目获取本地json文件数据的实例
Mar 07 Javascript
layui实现文件或图片上传记录
Aug 28 Javascript
浅谈Vuex注入Vue生命周期的过程
May 20 Javascript
Threejs实现滴滴官网首页地球动画功能
Jul 13 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
世界上第一台立体声收音机
2021/03/01 无线电
php empty()与isset()区别的详细介绍
2013/06/17 PHP
php中mysql操作buffer用法详解
2015/03/19 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
获取Javscript执行函数名称的方法
2006/12/22 Javascript
Ajax执行顺序流程及回调问题分析
2012/12/10 Javascript
jquery中获取id值方法小结
2013/09/22 Javascript
jQuery获得内容和属性示例代码
2014/01/16 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
2017/12/28 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
浅谈Node.js 沙箱环境
2018/05/15 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
python简单程序读取串口信息的方法
2015/03/13 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
手把手教你python实现SVM算法
2017/12/27 Python
django 多数据库配置教程
2018/05/30 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
python爬取招聘要求等信息实例
2020/11/20 Python
台湾前三大B2C购物网站:MOMO购物网
2017/04/27 全球购物
荣耀商城:HIHONOR
2020/11/03 全球购物
补充协议书范本
2014/04/23 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
烈士陵园观后感
2015/06/08 职场文书
小学中队长竞选稿
2015/11/20 职场文书
移除Selenium中window.navigator.webdriver值
2022/06/10 Python
Spring boot实现上传文件到本地服务器
2022/08/14 Java/Android