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 window.opener的用法分析
Apr 07 Javascript
Jquery ui css framework
Jun 28 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
Mar 25 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
Jun 15 Javascript
浅析JS异步加载进度条
May 05 Javascript
值得分享的轻量级Bootstrap Table表格插件
May 30 Javascript
使用vuex缓存数据并优化自己的vuex-cache
May 30 Javascript
基于Vue+element-ui 的Table二次封装的实现
Jul 20 Javascript
JS隐藏号码中间4位代码实例
Apr 09 Javascript
JS大坑之19位数的Number型精度丢失问题详解
Apr 22 Javascript
百度小程序之间的页面通信过程详解
Jul 18 Javascript
vue项目从node8.x升级到12.x后的问题解决
Oct 25 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-fpm的两种进程管理模式详解
2013/06/03 PHP
php生成shtml类用法实例
2014/12/09 PHP
php实现将数组转换为XML的方法
2015/03/09 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
JavaScript 学习笔记(四)
2009/12/31 Javascript
javascript向flash swf文件传递参数值注意细节
2012/12/11 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
javascript结合Canvas 实现简易的圆形时钟
2015/03/11 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
使用layui定义一个模块并使用的例子
2019/09/14 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
编写v-for循环的技巧汇总
2020/12/01 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python MD5文件生成码
2009/01/12 Python
python中MySQLdb模块用法实例
2014/11/10 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
使用 Python 读取电子表格中的数据实例详解
2020/04/17 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
浅析Python 抽象工厂模式的优缺点
2020/07/13 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
2020/10/20 Python
css3实现背景颜色渐变让图片不再是唯一的实现方式
2012/12/18 HTML / CSS
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
运动会解说词50字
2014/01/18 职场文书
开学典礼决心书
2014/03/11 职场文书
开学典礼主持词
2014/03/19 职场文书
公证书标准格式
2014/04/10 职场文书
民政局副局长民主生活会个人对照检查材料
2014/09/19 职场文书
小学毕业教师寄语
2019/06/21 职场文书