当前位置:首页 > 日记 > 正文

JavaScript数组迭代方法

JavaScript数组迭代方法

最近工作中经常涉及到数据的处理,数组尤其常见,经常需要对其进行遍历、转换操作,网上的文章零零散散,不得已自己又找出红宝书来翻出来看,顺便记一笔,便于以后查询。

数组常用的迭代方法

ECMAScript5为数组定义了5个迭代方法。每个方法都接受两个参数:要在每一项上运行的函数fn和(可选的)运行该函数的作用域对象——影响 `this` 的值。

传入这些方法中的函数(fn)会接收3个参数:item 、index 、array; 如:

array.forEach(function(item,index,array){  //do your staff here;},this)

根据使用方法的不同,这个函数执行后的返回值,可能会/不会影响方法中的返回值。

这5个迭代方法作用及返回值概览如下:

ECMAScript5 Array元素迭代方法

方法名 方法作用  返回值
every() 针对数组中每一项元素运行指定函数 Boolean:若每一项都返回true,返回true;
filter() 针对数组中每一项元素运行指定函数, Array:   返回函数运行返回true的元素组成的新数组
forEach() 针对数组中每一项元素运行指定函数 null:  无返回值
map() 针对数组中每一项元素运行指定函数  Array:  返回函数运行后,得到到新新元素组成的新数组
some() 针对数组中每一项元素运行指定函数 Boolean: 若有任意一项执行函数后返回true, 则返回true

简单来说:

every() 、some() 方法适合用于对数组元素进行条件判断;

filter()  、map() 方法适合用于对数组进行条件筛选/再处理;

forEach() 方法对不对数组本身做操作,仅仅对数组元素的二次应用;

下面介绍下各个方法的使用栗子:

先来假设一个场景,你拿到了公司的本月工资清单,假设你的工资为9000;公司员工工资组成的数组为salaries=[8500,12000,9900,9000],

a. 想知道 你的工资是不是最低的;

b.想知道 有没有人和你工资一样多;

c.想知道  是不是所有人待遇都一样;

d.想把大家的工资都换成K为单位的数据

var a,b,c;var your=9000;var salaries=[8500,12000,9900,9000]; a=slaries.some(function(item,index,array){  return item<9000});console.log(a);//true;恭喜你,还有人比你工资更低b=salaries.filter(function(item,index,array){  return item== your;})console.log(b);//[9000] 呵呵,有人跟你待遇一样c=salaries.every(function(item,index,array){  return item==your; });console.log(c);//false .不是所有人都和你一样待遇哦d=salaries.map(function(item,index,array){  return item/1000 });console.log(d);//[8.5,12,9.9,9]

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

相关文章

微信指纹支付如何取消

微信指纹支付如何取消

支付,取消,指纹,电脑软件,  当你在使用微信指纹支付时,偶尔会需要一些小问题,想要关闭指纹支付的方法也很简单,根据本文提供的图文教程即可轻松取消指纹支付,一起来看看吧!微信指纹支付如何取消其实关闭指纹支付的方法更加简单,和开启时程序一…

微信读书怎么免费看书?

微信读书怎么免费看书?

电脑软件,  微信读书怎么免费看书?不知道大家发现没有,微信读书app上面的书虽然都非常的有品位,推荐的书都是非常值得一读的好书,但是你们注意到标价没有?是不是有一丢丢高啊?那么在这里小编要告诉大家微信读书免费看书的方法,赶紧来mark~!微…

AngularJS2中一种button切换效果的

AngularJS2中一种button切换效果的

方法,效果,电脑软件,button,之前用三目表达式和ng-class实现了按钮切换效果,似乎达到了我的预期,但是我觉得还有改进空间,网上找了一些资料,大概还有以下几种实现方式:路由<button class="btn1" routerLink="component1" routerLinkActive=…

excel2007插入表单控件的教程excel

excel2007插入表单控件的教程excel

表单,控件,教程,电脑软件,strong,  Excel中的表单控件该如何插入呢?下面是小编带来的关于excel2007插入表单控件的教程,希望阅读过后对你有所启发!excel2007插入表单控件的教程插入表单步骤1:先看下效果,下面是两个调查表单,左边使用的是单选…

word2016文档中怎么切换插入改写模

word2016文档中怎么切换插入改写模

模式,文档,电脑软件,  很多用户在使用word时,输入空格后面的字就消失了,这是因为无意间切换了word的&ldquo;改写/插入&rdquo;模式。以下是小编为您带来的关于word2016文档切换插入改写模式,希望对您有所帮助。word2016文档切换插入改写模式…

浅谈jQuery中事情的动态绑定

浅谈jQuery中事情的动态绑定

动态绑定,浅谈,事情,电脑软件,jQuery,在jQuery的开发过程中,我们往往需要处理各种事件,例如click(),hover()等。在jQuery的API中,我们可以使用不同的方法来将这些事件绑定到特定的元素中。今天这篇文章中,我们将要介绍如何使用bind(),on(),live()…

ps软件怎样用钢笔来抠图

ps软件怎样用钢笔来抠图

抠图,方法,电脑软件,ps,  在ps软件中抠图的方法其实有很多,我们还可以使用钢笔来进行抠图。那么大家知道ps软件怎样用钢笔来抠图吗?下面是小编整理的ps软件怎样用钢笔来抠图的方法,希望能帮到大家!ps软件用钢笔来抠图的方法1、运行PS软件(…

怎么设置excel表格中不显示零值exc

怎么设置excel表格中不显示零值exc

显示,设置,解决方法,方法,步骤,  我们经常需要用的一些表格,需要把零值不显示出来,那么如何快速来设置呢?下面小编来告诉你excel表格中不显示零值的设置方法吧。希望对你有帮助!了解更多excel表格的使用技巧,欢迎点击???????excel制作考勤表…

WPS演示2013中如何设置自定义放映

WPS演示2013中如何设置自定义放映

自定义,设置,演示,如何设置,电脑软件,  打开一份幻灯片,有好多页,但是我们也没必要非要将不需要放映的删去,我们可以利用自定义放映的方法指定放映幻灯片中特定的几页。以下是小编为您带来的关于WPS演示2013中设置自定义放映,希望对您有所帮…

如何成为微信至尊会员?

如何成为微信至尊会员?

至尊,会员,电脑软件,  微信朋友圈里即将开始流行一种忽大忽小的字体。伴随着字体的发生,微信至尊会员也就奇妙的诞生了。利用特殊符号来改变自己的微信昵称,让自己瞬间变为微信至尊会员,就连土豪也不知道开通微信会员的方法哦!下面,小编来教…

excel修改图例系列名称教程excel怎

excel修改图例系列名称教程excel怎

图例,修改,教程,名称,系列,  在当今社会中,经常需要用到Excel进行办公,或许有些并不太熟悉Excel的朋友不会使用修改图例系列名称的功能,下面是由小编分享的excel修改图例系列名称教程,以供大家阅读和学习。excel修改图例系列名称教程修改图例…

node.js 发布订阅模式的实例

node.js 发布订阅模式的实例

模式,发布订阅,实例,电脑软件,node,实例如下://导入内置模块let EventEmitter = require('events');let util=require('util');//Man继承EventEmitterutil.inherits(Man,EventEmitter); //创建一个函数function Man(){}//实例化函数let …