Javascript中的迭代、归并方法详解


Posted in Javascript onJune 14, 2016

迭代方法

在Javascript中迭代方法个人觉得尤为重要,在很多时候都会有实际上的需求,javascript提供了5个迭代方法来供我们操作,它们分别为:

every() 对数组中的每一个项运用给定的函数,如果每项都返回true,那么就会返回true

filter() 对数组中的每一个项运用给定的函数,把返回true的项组成一个新数组并返回

forEach() 对数组中的每一项运用给定的函数,但是没有任何的返回值

map() 对数组中的每一个项运用给定的函数并返回每次函数调用的结果组成新的数组

same() 对数组中的每一个项运用给定的函数,如果数组中有一项返回true,那么就返回true

上面的5个方法中,它们都接受两个参数: 执行函数,也就是需要对每一个项进行操作的函数,这个函数有三个参数:数组项的值、该项在数组中的位置、数组对象本身。 给定的作用域,给定一个作用域,影响给定函数的this对象。如:

var values = [5,6,7,8,9,10,11,12,13];
 
function actionfunc(item, index, array){console.log(this)};
 
values.every(actionfunc,document); //这里会向控制台输出6次document对象

归并方法

除了迭代的方法之外还,javascript还提供了两个归并的方法,归并就是归档合并,这些方法和名字一样,都会利用给定的函数迭代数组中的每一项,然后返回一个总值。这两个归并的方法分别为:

reduce() 在数组中项从第一个开始一直到最后一个顺向的对数组中的每一个项运用给定的函数,然后返回一个对数组所有项运行给定函数结果的总和。

reduceRight() 在数组中项从最后一个开始一直到第一个逆向的运用给定的函数,然后返回一个对数组所有项运行给定函数结果的总和。

上面的两个方法接受两个参数: 执行函数,也就是需要对每一个项进行操作的函数,这个函数有四个参数:前一个值、当前值、项的索引、数组对象本身。 归并的基值,归并的计算将以此值为基础进行计算。如:

var values = [5, 6, 7, 8, 9, 10, 11, 12, 13];
 
values.reduce(function(preitem,item,index,array){return preitem+item},2) //返回数值83

以上这篇Javascript中的迭代、归并方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
20个非常棒的Jquery实用工具 国外文章
Jan 01 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
Jul 23 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
Jun 15 Javascript
JS中BOM相关知识点总结(必看篇)
Nov 22 Javascript
原生Javascript插件开发实践
Jan 18 Javascript
详解使用Node.js 将txt文件转为Excel文件
Jul 05 Javascript
vue组件实现文字居中对齐的方法
Aug 23 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
Sep 07 Javascript
vue+swiper实现侧滑菜单效果
Dec 28 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
Apr 18 Javascript
vue视图不更新情况详解
May 16 Javascript
js实现页面多个日期时间倒计时效果
Jun 20 Javascript
JavaScript接口的实现三种方式(推荐)
Jun 14 #Javascript
jQuery处理XML文件的几种方法
Jun 14 #Javascript
你不需要jQuery(三) 新AJAX方法fetch()
Jun 14 #Javascript
深入理解jQuery 事件处理
Jun 14 #Javascript
使用jquery获取url及url参数的简单实例
Jun 14 #Javascript
JS操作JSON方法总结(推荐)
Jun 14 #Javascript
JavaScript Promise 用法
Jun 14 #Javascript
You might like
用PHP控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
关于js和php对url编码的处理方法
2014/03/04 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
学习php设计模式 php实现状态模式
2015/12/07 PHP
PHP生成各种常见验证码和Ajax验证过程
2016/01/10 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
PHP 断点续传实例详解
2017/11/11 PHP
Aster vs KG BO3 第一场2.18
2021/03/10 DOTA
解析jquery获取父窗口的元素
2013/06/26 Javascript
JavaScript执行顺序详细介绍
2013/12/04 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
Javascript与jQuery方法的隐藏与显示
2015/01/19 Javascript
JS实现3D图片旋转展示效果代码
2015/09/22 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
JS实现利用两个队列表示一个栈的方法
2017/12/13 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
vue实现城市列表选择功能
2018/07/16 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
[47:08]OG vs INfamous 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
使用python绘制常用的图表
2016/08/27 Python
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
2020/02/20 Python
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
机械系大学毕业生推荐信
2013/11/27 职场文书
学生保证书范文
2014/04/28 职场文书
关于运动会广播稿200字
2014/10/08 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
PyQt5 显示超清高分辨率图片的方法
2021/04/11 Python
Python基础知识之变量的详解
2021/04/14 Python
Go中的条件语句Switch示例详解
2021/08/23 Golang
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL