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的树型插件(OrangeTree)使用介绍
May 03 Javascript
修改file按钮的默认样式实现代码
Apr 23 Javascript
用JS实现3D球状标签云示例代码
Dec 01 Javascript
jquery实现图片水平滚动效果代码分享
Aug 26 Javascript
用JS生成UUID的方法实例
Mar 30 Javascript
Jquery针对tr td的一些实用操作方法(必看篇)
Oct 05 Javascript
从0开始学Vue
Oct 27 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
Feb 13 Javascript
ReactNative之键盘Keyboard的弹出与消失示例
Jul 11 Javascript
webpack4.x下babel的安装、配置及使用详解
Mar 07 Javascript
简单通过settimeout看javascript的运行机制
May 10 Javascript
在antd Form表单中select设置初始值操作
Nov 02 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读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
基于Jquery的简单&简陋Tabs插件代码
2010/02/09 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
node.js操作mysql(增删改查)
2015/07/24 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
2017/04/02 jQuery
JavaScript函数节流的两种写法
2017/04/07 Javascript
Vue form 表单提交+ajax异步请求+分页效果
2017/04/22 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
JS SetInterval 代码实现页面轮询
2017/08/11 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
vuex 的简单使用
2018/03/22 Javascript
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
微信小程序自定义prompt组件步骤详解
2018/06/12 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
如何提升vue.js中大型数据的性能
2019/06/21 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
Python 除法小技巧
2008/09/06 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
Python自定义函数计算给定日期是该年第几天的方法示例
2019/05/30 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
新百伦折扣店:Joe’s New Balance Outlet
2016/08/20 全球购物
校园文化建设方案
2014/02/03 职场文书
农村改厕实施方案
2014/03/22 职场文书
优秀少先队员主要事迹材料
2014/05/28 职场文书
公司委托书格式范本
2014/09/16 职场文书
教师作风建设剖析材料
2014/10/11 职场文书