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 相关文章推荐
接收键盘指令的脚本
Jun 26 Javascript
JavaScript XML和string相互转化实现代码
Jul 04 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
Apr 21 Javascript
javascript教程之不完整的继承(js原型链)
Jan 13 Javascript
javascript常见操作汇总
Sep 03 Javascript
JavaScript实现同步于本地时间的动态时间显示方法
Feb 02 Javascript
Shell脚本实现Linux系统和进程资源监控
Mar 05 Javascript
模板视图和AngularJS之间冲突的解决方法
Nov 22 Javascript
Angularjs分页查询的实现
Feb 24 Javascript
es6的数字处理的方法(5个)
Mar 16 Javascript
微信小程序删除处理详解
Aug 16 Javascript
Vue3中toRef与toRefs的区别
Mar 24 Vue.js
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网站安装程序制作的原理、步骤、注意事项和示例代码
2010/08/01 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
thinkphp中空模板与空模块的用法实例
2014/11/26 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
2017/06/30 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
php实现的简单多进程服务器类完整示例
2020/02/01 PHP
javascript preload&lazy load
2010/05/13 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
7个jQuery最佳实践
2016/01/12 Javascript
AngularJS教程之环境设置
2016/08/16 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
总结Python中逻辑运算符的使用
2015/05/13 Python
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
利用python实现命令行有道词典的方法示例
2017/01/31 Python
python用opencv批量截取图像指定区域的方法
2019/01/24 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
python+Django实现防止SQL注入的办法
2019/10/31 Python
python psutil监控进程实例
2019/12/17 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
金融专业个人求职信范文
2013/11/28 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
工作分析计划书
2014/04/30 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
React实现动效弹窗组件
2021/06/21 Javascript
【海涛DOTA解说】EVE女子战队独家录像加ZSMJ神牛两连发
2022/04/01 DOTA
SQL Server使用PIVOT与unPIVOT实现行列转换
2022/05/25 SQL Server