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中实现函数数组的方法
Dec 25 Javascript
jQuery类选择器用法实例
Dec 23 Javascript
Window.Open打开窗体和if嵌套代码
Apr 15 Javascript
jQuery Mobile 和 Kendo UI 的比较
May 05 Javascript
ES6概念 Symbol.keyFor()方法
Dec 25 Javascript
详解Angular中的自定义服务Service、Provider以及Factory
Apr 22 Javascript
详解webpack+angular2开发环境搭建
Jun 28 Javascript
Vue 组件间的样式冲突污染
Aug 31 Javascript
详解使用webpack打包编写一个vue-toast插件
Nov 08 Javascript
JavaScript 有用的代码片段和 trick
Feb 22 Javascript
浅谈vue中resetFields()使用注意事项
Aug 12 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
Sep 04 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中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
PHP实现Huffman编码/解码的示例代码
2018/04/20 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
Webkit的跨域安全问题说明
2011/09/13 Javascript
js 左右悬浮对联广告代码示例
2014/12/12 Javascript
JS获得图片alt信息的方法
2015/04/01 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
javascript 初学教程及五子棋小程序的简单实现
2017/07/04 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
Python算法之栈(stack)的实现
2014/08/18 Python
Python探索之静态方法和类方法的区别详解
2017/10/27 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
python 每天如何定时启动爬虫任务(实现方法分享)
2018/05/21 Python
python PrettyTable模块的安装与简单应用
2019/01/11 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
值得收藏的10道python 面试题
2019/04/15 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
python 画条形图(柱状图)实例
2020/04/24 Python
python dict乱码如何解决
2020/06/07 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
html5画布旋转效果示例
2014/01/27 HTML / CSS
美国最大的宠物药店:1-800-PetMeds
2016/10/02 全球购物
班班通项目实施方案
2014/02/25 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
Go Grpc Gateway兼容HTTP协议文档自动生成网关
2022/06/16 Golang