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向asp.net Mvc传递复杂json数据-ModelBinder篇
May 07 Javascript
javascript与CSS复习(二)
Jun 29 Javascript
鼠标经过tr时,改变tr当前背景颜色
Jan 13 Javascript
通过Jquery的Ajax方法读取将table转换为Json
May 31 Javascript
jquery实现拖拽调整Div大小
Jan 30 Javascript
jquery实现经典的淡入淡出选项卡效果代码
Sep 22 Javascript
Vue-Router2.X多种路由实现方式总结
Feb 09 Javascript
javascript实现图片轮播代码
Jul 09 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
Oct 26 jQuery
微信小程序wxs实现吸顶效果
Jan 08 Javascript
JavaScript实现Tab选项卡切换
Feb 13 Javascript
three.js 将图片马赛克化的示例代码
Jul 31 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加密解密函数分享
2014/06/05 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
javaScript字符串工具类StringUtils详解
2017/12/08 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
详解Vue2.0组件的继承与扩展
2018/11/23 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
2019/07/31 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
2019/12/09 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
Python命名空间详解
2014/08/18 Python
python分析网页上所有超链接的方法
2015/05/08 Python
对python3 中方法各种参数和返回值详解
2018/12/15 Python
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
numpy中的ndarray方法和属性详解
2019/05/27 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
2019/07/15 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
Python+OpenCV图像处理——实现轮廓发现
2020/10/23 Python
艺术设计专业个人求职信
2013/09/21 职场文书
大学生物业管理求职信
2013/10/24 职场文书
专业实习自我鉴定
2013/10/29 职场文书
爱耳日活动总结
2014/04/30 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
初中军训感想
2015/08/07 职场文书
严以律己专题学习研讨会发言材料
2015/11/09 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
node.js使用express-fileupload中间件实现文件上传
2021/07/16 Javascript