迭代方法

在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中的迭代、归并方法的更多相关文章

  1. Jquery中$(document).ready()与传统JavaScript中的window.onload方法的区别(2016/8/3)

    Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的. 1.执行时间       ...

  2. JavaScript中事件绑定的方法总结

    最近收集了一些关于JavaScript绑定事件的方法,汇总了一下,不全面,但是,希望便于以后自己查看. JavaScript中绑定事件的方法主要有三种: 1 在DOM元素中直接绑定 2 JavaScr ...

  3. Javascript中alert</script>的方法

    Javascript中alert</script>的方法: <%@ page language="java" import="java.util.*&q ...

  4. JavaScript中Object.prototype.toString方法的原理

    在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. ? 1 2 var arr = []; console.lo ...

  5. URL地址中中文乱码详解(javascript中encodeURI和decodeURI方法、java.net.URLDecoder.encode、java.net.URLDecoder.decode)

    引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生了,该如何解决呢?且听本文详细道来. ...

  6. JavaScript中this的使用方法总结

    JavaScript中this的使用方法总结 在JavaScript中,this的使用分为四种场景,具体请参考阮一峰老师关于this的讲解 第一种情况是纯函数使用 var x =1 ; functio ...

  7. javaScript中的indexOf使用方法

    JavaScript中的indexOf使用方法 概述 indexOf大小写敏感,其中的O要大写 对于字符串而言 indexOf返回字符串第一次出现的位置,若没有出现返回-1 1 var str = & ...

  8. Jquery中$(document).ready() 和 JavaScript中的window.onload方法 比较

    Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的.   1.执行时间 win ...

  9. Javascript中定时器的使用方法

    Javascript中定时器的使用方法 1.间隔定时器(每隔一段时间执行一次代码) 格式:setInterval(函数,时间) //时间单位是毫秒,每隔设置的时间执行函数里的内容一遍(一直执行) // ...

随机推荐

  1. cocos2d-x c++和object-c内存管理比较

    转自:http://www.2cto.com/kf/201307/227142.html 既然选择了C++作为游戏开发的语言, 手动的管理内存是难以避免的, 而Cocos2d-x的仿Objctive- ...

  2. 清空session的方法

    清空session的方法,常用来注销的时候清空所有的session. 方法一: Enumeration e=session.getAttributeNames(); while(e.hasMoreEl ...

  3. php empty()和isset()的区别<转载>

    在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问 ...

  4. sgu 101 无向图有双重边的欧拉路径

    #include <iostream> #include <cstring> #include <cstdlib> #include <cstdio> ...

  5. 【25】考虑写出一个不抛异常的swap函数

    1.swap交换对象值,std提供了实现方法模版的实现,它的实现是交换对象值. namespace std { template<typename T> void swap(T& ...

  6. Android代码中设置背景图片

    //设置背景图片        String picfile= Environment.getExternalStorageDirectory() + "/pdp/pdp.png" ...

  7. java_不知道数据类型情况下,数组遍历-反射

    if(items.getClass().isArray){ this.collection = new ArrayList(); int length = Array.getLength(items) ...

  8. 介绍一些实用的IOS手势识别库 (COCOS2D)

    http://www.supersuraccoon-cocos2d.com/zh/2012/11/14/introduction-to-some-great-ios-gesture-recogniti ...

  9. git 客户端 代码下载与提交

    (1)git clone 服务器用户名@服务器IP:~/Git目录/.git 功能:下载服务器端Git仓库中的文件或目录到本地当前目录. (2)对Git目录中的文件进行修改. (3)git statu ...

  10. javascript——touch事件

    前言 诸如智能手机和平板电脑一类的移动设备通常会有一(capacitive touch-sensitivescreen),以捕捉用户的手指所做的交互.随着移动网络的发展,其能够支持越来越复杂的应用,w ...