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 硬盘序列号+其它硬件信息
Dec 23 Javascript
JS关键字变色实现思路及代码
Feb 21 Javascript
document.execCommand()的用法小结
Jan 08 Javascript
javascript截取字符串小结
Apr 28 Javascript
JQuery的attr 与 val区别
Jun 12 Javascript
jQuery+json实现动态创建复杂表格table的方法
Oct 25 Javascript
jQuery实现立体式数字滚动条增加效果
Dec 21 Javascript
ES6解构赋值的功能与用途实例分析
Oct 31 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
Apr 28 Javascript
6行代码实现微信小程序页面返回顶部效果
Dec 28 Javascript
Vue是怎么渲染template内的标签内容的
Jun 05 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
Aug 13 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编程中10个最常见的错误
2014/08/08 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
2016/09/22 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
JS操作input标签属性checkbox全选的实现代码
2017/03/02 Javascript
JS自定义滚动条效果简单实现代码
2020/10/27 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
JavaScript复制内容到剪贴板的两种常用方法
2018/02/27 Javascript
webpack 代码分离优化快速指北
2019/05/18 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
Python中的id()函数指的什么
2017/10/17 Python
Windows环境下python环境安装使用图文教程
2018/03/13 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
2018/03/19 Python
Python多进程池 multiprocessing Pool用法示例
2018/09/07 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
selenium+PhantomJS爬取豆瓣读书
2019/08/26 Python
Python如何使用字符打印照片
2020/01/03 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
python中doctest库实例用法
2020/12/31 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
2015年度信用社工作总结
2015/05/04 职场文书
旅行社计调工作总结
2015/08/12 职场文书
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS
仅用几行Python代码就能复制她的U盘文件?
2021/06/26 Python
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server
Win11快速关闭所有广告推荐
2022/04/19 数码科技
mysql实现将字符串字段转为数字排序或比大小
2022/06/14 MySQL
nginx访问报403错误的几种情况详解
2022/07/23 Servers