文档章节

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实用技巧--数组.

数组和字符串类型对象的方法我特容易搞混淆,所以把他列出来,免得每次取查。 1、concat方法 [作用] 将多个数组联合起来,这个方法不会改变现存的数组,它只返回了所结合数组的一份拷贝。 [语...

晨曦之光
2012/03/09
0
0
JavaScript继承详解(二)

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

solu
2010/12/22
0
0
JavaScript的简单复习

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

Lunqi
2015/08/07
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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Ubuntu18.04 显卡GF-940MX安装NVIDIA-390.77

解决办法: 下面就给大家一个正确的姿势在Ubuntu上安装Nvidia驱动: (a)首先去N卡官网下载自己显卡对应的驱动:www.geforce.cn/drivers (b)下载后好放在英文路径的目录下,怎么简单怎么来...

AI_SKI
今天
0
0
深夜胡思乱想

魔兽世界 最近魔兽世界出了新版本, 周末两天升到了满级,比之前的版本体验好很多,做任务不用抢怪了,不用组队打怪也是共享拾取的。技能简化了很多,哪个亮按哪个。 运维 服务器 产品 之间的...

Firxiao
今天
0
0
MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
今天
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
2
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部