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 相关文章推荐
jquery选择checked在ie8普通模式下的问题
Feb 12 Javascript
javascript基本算法汇总
Mar 09 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
Sep 20 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
Feb 05 Javascript
js 博客内容进度插件详解
Feb 19 Javascript
jQuery简单实现对数组去重及排序操作实例
Oct 31 jQuery
vue自定义filters过滤器
Apr 26 Javascript
微信小程序实现长按删除图片的示例
May 18 Javascript
详解Axios 如何取消已发送的请求
Oct 20 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
Nov 10 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
Mar 25 Javascript
Node.js API详解之 readline模块用法详解
May 22 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
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
php获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
浅析php学习的路线图
2013/07/10 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
2017/02/04 PHP
PHP利用Socket获取网站的SSL证书与公钥
2017/06/18 PHP
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
js调用activeX获取u盘序列号的代码
2011/11/21 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
Highcharts使用简例及异步动态读取数据
2015/12/30 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
简洁实用的BootStrap jQuery手风琴插件
2016/08/31 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
2017/09/13 Javascript
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
JS判断数组里是否有重复元素的方法小结
2019/05/21 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
Python中SOAP项目的介绍及其在web开发中的应用
2015/04/14 Python
PyQt5每天必学之像素图控件QPixmap
2018/04/19 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
2018/04/19 Python
Python中XlsxWriter模块简介与用法分析
2018/04/24 Python
使用Python控制摄像头拍照并发邮件
2019/04/23 Python
Python PIL读取的图像发生自动旋转的实现方法
2019/07/05 Python
Python变量及数据类型用法原理汇总
2020/08/06 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
营业员演讲稿
2013/12/30 职场文书
工伤事故赔偿协议书
2014/10/27 职场文书
北京英文导游词
2015/02/12 职场文书
宣传部部长竞选稿
2015/11/21 职场文书
浅谈Java实现分布式事务的三种方案
2021/06/11 Java/Android