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 API来处理不同的浏览器事件
Dec 09 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
Nov 21 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
Jan 15 Javascript
Javascript基础教程之argument 详解
Jan 18 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
Aug 01 Javascript
微信小程序中单位rpx和rem的使用
Dec 06 Javascript
完美解决浏览器跨域的几种方法(汇总)
May 08 Javascript
详解A标签中href=""的几种用法
Aug 20 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
Apr 09 Javascript
MVVM 双向绑定的实现代码
Jun 21 Javascript
Vue自定义指令封装节流函数的方法示例
Jul 09 Javascript
vue使用echarts实现折线图
Mar 21 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设计模式 Template (模板模式)
2011/06/26 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
PHP向socket服务器收发数据的方法
2015/01/24 PHP
PHP5.2下preg_replace函数的问题
2015/05/08 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明介绍)
2013/07/09 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
实现51Map地图接口(示例代码)
2013/11/22 Javascript
JavaScript与jQuery实现的闪烁输入效果
2016/02/18 Javascript
移动端js图片查看器
2016/11/17 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
angularjs实现时间轴效果的示例代码
2017/11/29 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
JS module的导出和导入的实现代码
2019/02/25 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
2019/04/17 Javascript
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
2020/10/24 Javascript
Python set集合类型操作总结
2014/11/07 Python
Python实现从百度API获取天气的方法
2015/03/11 Python
python单例模式实例分析
2015/04/08 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
Python删除n行后的其他行方法
2019/01/28 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
Python 调用有道翻译接口实现翻译
2020/03/02 Python
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
2015年第31个教师节致辞
2015/07/31 职场文书
2015年中秋寄语
2015/07/31 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫