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 相关文章推荐
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
Mar 25 Javascript
JavaScript中实现依赖注入的思路分享
Jan 15 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
Jun 10 Javascript
分享12个实用的jQuery代码片段
Mar 09 Javascript
Javascript必知必会(四)js类型转换
Jun 08 Javascript
json定义及jquery操作json的方法
Sep 29 Javascript
用director.js实现前端路由使用实例
Jan 27 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
Mar 09 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
Jun 19 Javascript
angularjs实现搜索的关键字在正文中高亮出来
Jun 13 Javascript
Express结合Webpack的全栈自动刷新
May 23 Javascript
vue element 生成无线级左侧菜单的实现代码
Aug 21 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
乐信RP2100的电路分析和打磨
2021/03/02 无线电
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
浅谈php常用的7大框架的优缺点
2020/07/20 PHP
动态加载iframe
2006/06/16 Javascript
Hutia 的 JS 代码集
2006/10/24 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
JS实现的简单拖拽功能示例
2017/03/13 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
如何编写一个d.ts文件的步骤详解
2018/04/13 Javascript
详解用Webpack与Babel配置ES6开发环境
2019/03/12 Javascript
js页面加载后执行的几种方式小结
2020/01/30 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
Vue实现简单计算器
2021/01/20 Vue.js
Python中return语句用法实例分析
2015/08/04 Python
python 系统调用的实例详解
2017/07/11 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
django 微信网页授权登陆的实现
2019/07/30 Python
Django命名URL和反向解析URL实现解析
2019/08/09 Python
QML用PathView实现轮播图
2020/06/03 Python
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
南京某软件公司的.net面试题
2015/11/30 面试题
新媒传信软件测试面试题
2013/02/24 面试题
公司道歉信范文
2014/01/09 职场文书
2014年迎新年活动方案
2014/02/19 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
国旗下演讲稿
2014/05/08 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
pytorch实现手写数字图片识别
2021/05/20 Python