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 插件 人性化的消息显示
Jan 21 Javascript
jQuery1.6 使用方法二
Nov 23 Javascript
javaScript函数中执行C#代码中的函数方法总结
Aug 07 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
Apr 27 Javascript
全屏js头像上传插件源码高清版
Mar 29 Javascript
JS中关于事件处理函数名后面是否带括号的问题
Nov 16 Javascript
微信小程序 引入es6 promise
Apr 12 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
Jul 13 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
Mar 14 Javascript
基于Vue实现可以拖拽的树形表格实例详解
Oct 18 Javascript
详解vue-cli 脚手架 安装
Apr 16 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/05 新手入门
一步一步学习PHP(6) 面向对象
2010/02/16 PHP
Laravle eloquent 多对多模型关联实例详解
2017/11/22 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
js 中 document.createEvent的用法
2010/08/29 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
前台js对象在后台转化java对象的问题探讨
2013/12/20 Javascript
Iframe 自动适应页面的高度示例代码
2014/02/26 Javascript
Node.js编码规范
2014/07/14 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
[01:01:31]2018DOTA2亚洲邀请赛3月29日小组赛B组 Mineski VS paiN
2018/03/30 DOTA
用实例说明python的*args和**kwargs用法
2013/11/01 Python
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
Django DRF APIView源码运行流程详解
2020/08/17 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
HTML实现代码雨源码及效果示例
2020/02/25 HTML / CSS
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
大学生个人总结的自我评价
2013/10/05 职场文书
创业计划书如何吸引他人眼球
2014/01/10 职场文书
南京青奥会口号
2014/06/12 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
2014年乡镇工作总结
2014/11/21 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
爱心捐书倡议书
2015/04/27 职场文书
春风化雨观后感
2015/06/11 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
分享mysql的current_timestamp小坑及解决
2021/11/27 MySQL