文档章节

javascript的Array对象的几个方法

想約的軼後
 想約的軼後
发布于 2015/12/07 12:31
字数 583
阅读 15
收藏 0

javaScript的几个Array的操作方法,类似lambda的表达式

  1. map:对数组中的每一个值进行操作,返回值是 数组

    语法: array1.map(callbackfn[, thisArg])
    array1:必须的,一个数组对象

    callbackfn:必须的,最多接受 3个参数The map method calls the callbackfn function one time for each element in the array.

    thisArg:可选的,An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as thethis value.

    参照:https://msdn.microsoft.com/zh-CN/library/ff679976(v=vs.94).aspx

    function callbackfn(value, index, array1)

     

    回调参数

    定义

    value

    数组元素的值。

    index

    数组元素的数字索引。

    array1

    包含该元素的数组对象。

 var arr = [
  "Hydrogen",
  "Helium",
  "Lithium",
  "Beryl­lium"
 ];
 var a2 = arr.map(function(s){ return s.length});//[8,6,7,10]
 //(param1, param2, paramN) => expression
 // equivalent to:  => { return expression; }
 var a3 = arr.map(s => s.length);//[8,6,7,10]

2.filter:返回数组中的满足回调函数中指定的条件的元素,返回值是 数组

语法

array1.filter(callbackfn[, thisArg])
array1    必需。一个数组对象。    
callbackfn    必需。一个接受最多三个参数的函数。对于数组中的每个元素,filter 方法都会调用 callbackfn 函数一次。    
thisArg    可选。可在 callbackfn 函数中为其引用 this 关键字的对象。如果省略 thisArg,则 undefined 将用作 this 值。
 var arr2 = [5, 6, 13, 0, 1, 18, 23];
 //选出数组中的 偶数
 var even = arr2.filter(v => v%2 == 0);//[6,0,18];

参照:https://msdn.microsoft.com/zh-cn/library/ff679973(v=vs.94).aspx

3.reduce:对数组中的所有元素调用指定的回调函数。该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。

语法:

array1.reduce(callbackfn[, initialValue])

array1:必须的,是一个数组对象

callbackfn:必须的,是一个回调函数,最多接收4个参数,The reduce method calls the callbackfn function one time for each element in the array.

initialValue:可选的, If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.

参照:https://msdn.microsoft.com/zh-cn/library/ff679975(v=vs.94).aspx

var arr2 = [5, 6, 13, 0, 1, 18, 23];
 var sum = arr2.reduce((a,b) => a+b); //sum:66

© 著作权归作者所有

共有 人打赏支持
想約的軼後
粉丝 0
博文 2
码字总数 1116
作品 0
合肥
私信 提问
JavaScript的简单复习

JavaScript的简单复习 JS的两种加载方式: 1.内部加载 内部加载,写在<script>标签内部 2.外部加载 写在<script>的src目录中,使用外部加载js文件的时候,js解析引擎不解析script标签体中的代码...

Lunqi
2015/08/07
0
0
JS Array 中 shift 和 pop 的妙用

在 JS Array 中支持两个方法, 和 ,分别是指从一个数据中的最前面和最后面删除一个值,并返删除值。看一个示例就明白了: 在很多 JS 框架中可以很常见的是,一个方法提供你传几个参数,而这...

虫虫
2012/07/18
13.1K
16
JavaScript继承详解(二)

文章截图 - 更好的排版 这一章我们将会重点介绍JavaScript中几个重要的属性(this、constructor、prototype), 这些属性对于我们理解如何实现JavaScript中的类和继承起着至关重要的作用。 ...

solu
2010/12/22
0
0
js与php在数组与对象之间的差异

摘要:js和php都是弱类型语言,他们都支持跨平台,然后数据在使用时,都不需要定义类型。有点类似于c++的函数模板,自动判断类型。但他们还是有挺多区别的,下面简单的介绍下js和php在数组与...

魏邪乎
2014/07/21
0
0
判断javascript数组的方法

判断javascript数组的方法 var is_array=function(){ return value && } 我们知道,javascript是一种弱类型的语言,并且,javascript中的一切实质上都是对象。那么,在javascript中如何进行对...

首席xx师
2013/06/06
0
2

没有更多内容

加载失败,请刷新页面

加载更多

ConcurrentHashMap源码解析

初始化 先看看ConcurrentHashMap中几个重要的属性: // 初始化容量大小static final int DEFAULT_INITIAL_CAPACITY = 16;//默认负载因子static final float DEFAULT_LOAD_FACTOR = 0.75f...

grace_233
15分钟前
0
0
java对象的浅拷贝和深拷贝

浅拷贝 java的数据类型有基本数据类型(如:int、long等)和引用数据类型。例如:对象1中有属性a(基本数据类型)和属性b(引用数据类型),在进行浅拷贝到对象2时,属性a复制属性的值给对象...

yangyangyyyy
16分钟前
0
0
SQLServer AlwaysOn在阿里云的前世今生

缘起 早在2015年的时候,随着阿里云业务突飞猛进的发展,SQLServer业务也积累了大批忠实客户,其中一些体量较大的客户在类似大促的业务高峰时RDS的单机规格(规格是按照 内存CPUIOPS 一定比例...

阿里云云栖社区
17分钟前
0
0
ubuntu16.04 LNMP搭建 php7.1

sudo apt-get update sudo apt-get install mysql-server mysql-client sudo apt-add-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.1 php7.1-fpm php7.1-cgi p......

一千零一夜个为什么
23分钟前
0
0
阿里云高级技术专家带你全面了解云主机性能评测

钱超,花名西邪,阿里云高级技术专家,超12年老阿里,是云主机性能领域的知名专家。 在目前的云计算测评领域,很多性能测评存在营销的包装,容易引起误导:比如用瞬时性能引导读者得出结论,...

阿里云官方博客
30分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部