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 相关文章推荐
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
Feb 03 Javascript
Javascript 事件流和事件绑定
Jul 16 Javascript
jquery延迟对象解析
Oct 26 Javascript
vue父组件向子组件动态传值的两种方法
Nov 11 Javascript
代码详解Vuejs响应式原理
Dec 20 Javascript
Vue自定义toast组件的实例代码
Aug 15 Javascript
详解如何构建一个Angular6的第三方npm包
Sep 07 Javascript
细述Javascript的加法运算符的具体使用
Oct 18 Javascript
js判断浏览器的环境(pc端,移动端,还是微信浏览器)
Dec 24 Javascript
浏览器JavaScript调试功能无法使用解决方案
Sep 18 Javascript
Nuxt的路由动画效果案例
Nov 06 Javascript
手把手教你如何编译打包video.js
Dec 09 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 批量删除数据的方法分析
2009/10/30 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
php如何比较两个浮点数是否相等详解
2019/02/12 PHP
理解 JavaScript 预解析
2009/10/25 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
jQuery + Flex 通过拖拽方式动态改变图片的代码
2011/08/03 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
使用AJAX实现Web页面进度条的实例分享
2016/05/06 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
js实现轮播图的两种方式(构造函数、面向对象)
2017/09/30 Javascript
layui固定下拉框的显示条数(有滚动条)的方法
2019/09/10 Javascript
typescript配置alias的详细步骤
2020/08/12 Javascript
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
Python中序列的修改、散列与切片详解
2017/08/27 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
Python docx库用法示例分析
2019/02/16 Python
python处理excel绘制雷达图
2019/10/18 Python
python numpy 反转 reverse示例
2019/12/04 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
关于Assembly命名空间的三个面试题
2015/07/23 面试题
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
结对共建协议书
2014/08/20 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
领导干部作风建设总结
2014/10/23 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
SSM VUE Axios详解
2021/10/05 Vue.js