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 相关文章推荐
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
May 07 Javascript
JavaScript自定义数组排序方法
Feb 12 Javascript
自己编写的支持Ajax验证的JS表单验证插件
May 15 Javascript
javascript中Date对象应用之简易日历实现
Jul 12 Javascript
纯JS实现简单的日历
Jun 26 Javascript
在vue项目中安装使用Mint-UI的方法
Dec 27 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
Jan 16 Javascript
微信小程序仿抖音短视频切换效果的实例代码
Jun 24 Javascript
解决vue项目router切换太慢问题
Jul 19 Javascript
浅谈JavaScript中的“!!”作用
Aug 03 Javascript
Vue使用CDN引用项目组件,减少项目体积的步骤
Oct 30 Javascript
vue项目多环境配置(.env)的实现
Jul 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 多维数组排序(usort,uasort)
2010/06/30 PHP
php empty() 检查一个变量是否为空
2011/11/10 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
对PHP依赖注入的理解实例分析
2016/10/09 PHP
基于PHP实现用户注册登录功能
2016/10/14 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
2019/07/03 PHP
根据分辩率调用不同的CSS.
2007/01/08 Javascript
iis6+javascript Add an Extension File
2007/06/13 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
2016/07/22 Javascript
AngularJs  Understanding Angular Templates
2016/09/02 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
jQuery插件WebUploader实现文件上传
2016/11/07 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
jQuery实现字符串全部替换的方法
2016/12/12 Javascript
TypeScript入门-接口
2017/03/30 Javascript
C#实现将一个字符转换为整数
2017/12/12 Javascript
js屏蔽退格键(backspace或者叫后退键与F5)
2019/02/10 Javascript
Vue使用Proxy代理后仍无法生效的解决
2020/11/13 Javascript
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
Python生成随机密码的方法
2017/06/16 Python
python enumerate函数的使用方法总结
2017/11/15 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
Python多进程fork()函数详解
2019/02/22 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
图书室管理制度
2014/01/19 职场文书
有关西游记的读书笔记
2015/06/25 职场文书
企业培训简报范文
2015/07/20 职场文书
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android