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实现的一个选择中国大学的弹框 (数据、步骤、代码)
Jul 26 Javascript
js sort 二维数组排序的用法小结
Jan 24 Javascript
js简单实现竖向tab选项卡的方法
May 04 Javascript
javascript中的正则表达式使用详解
Aug 30 Javascript
jquery获取form表单input元素值的简单实例
May 30 Javascript
Vue.js之slot深度复制详解
Mar 10 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
Sep 07 Javascript
web前端vue之vuex单独一文件使用方式实例详解
Jan 11 Javascript
vue element动态渲染、移除表单并添加验证的实现
Jan 16 Javascript
在微信小程序中使用vant的方法
Jun 07 Javascript
利用不到200行代码写一款属于你自己的js类库
Jul 08 Javascript
Vue移动端项目实现使用手机预览调试操作
Jul 18 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 array_walk() 数组函数
2011/07/12 PHP
php实现图片缩放功能类
2013/12/18 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
js showModalDialog 弹出对话框的简单实例(子窗体)
2014/01/07 Javascript
javascript:void(0)的问题使用探讨
2014/04/10 Javascript
jQuery左侧大图右侧小图焦点图幻灯切换代码分享
2015/08/19 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
原生javascript实现图片无缝滚动效果
2016/02/12 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
js实现文字无缝向上滚动
2017/02/16 Javascript
让div运动起来 js实现缓动效果
2017/07/06 Javascript
Vue中引入样式文件的方法
2017/08/18 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
使用js实现单链解决前端队列问题的方法
2020/02/03 Javascript
vue-cli3单页构建大型项目方案
2020/04/07 Javascript
跟老齐学Python之Python文档
2014/10/10 Python
Python isinstance函数介绍
2015/04/14 Python
一个基于flask的web应用诞生 组织结构调整(7)
2017/04/11 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
让IE下支持Html5的placeholder属性的插件
2014/09/02 HTML / CSS
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
小学清明节活动方案
2014/03/08 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
党员四风剖析材料
2014/08/27 职场文书
2014年监理个人工作总结
2014/12/11 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python