文档章节

javascript的Array对象的几个方法

想約的軼後
 想約的軼後
发布于 2015/12/07 12:31
字数 583
阅读 15
收藏 0
点赞 0
评论 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的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 06/19 ⋅ 0

JavaScript 参考手册

JavaScript 参考手册 http://www.w3school.com.cn/jsref/index.asp 本部分提供完整的 JavaScript 参考手册: JavaScript 本地对象和内置对象 Browser 对象(BOM) HTML DOM 对象 JavaScript...

chenhao_asd ⋅ 05/25 ⋅ 0

React Native 与原生模块数据通信(一)(iOS)

(一)iOS日历模块封装演示 下面开始演示如何封装一个iOS日历原生模块,让JavaScript可以进行访问到iOS平台日历的功能。 在React Native中,原生模块就是一个Objective-C类,该实现了RCTBridge...

manofit ⋅ 05/24 ⋅ 0

JavaWeb03-HTML篇笔记(七)

1.1 案例六:使用JS完成省市联动的效果:1.1.1 需求: 在注册页面上有两个下拉列表,左侧省份的下拉列表一改变,右侧的市的下拉列表也要跟着发生变化. 1.1.2 分析:1.1.2.1 技术分析: 【JS中创...

我是小谷粒 ⋅ 05/07 ⋅ 0

JavaScript学习记录day9-标准对象

JavaScript学习记录day9-标准对象 [TOC] 在JavaScript的世界里,一切都是对象。 但是某些对象还是和其他对象不太一样。为了区分对象的类型,我们用操作符获取对象的类型,它总是返回一个字符...

ygqygq2 ⋅ 06/11 ⋅ 0

Lynx技术分析-JS引擎扩展设计

JS Binding 技术 Lynx(一个高效的跨平台框架) 的 JS Binding 技术最主要的目的是搭建一个高效的与 JS 引擎解耦的通信桥梁,同时具备 JS 引擎切换的能力。该技术经历了多次迭代,最终通过抽...

hxxft ⋅ 05/15 ⋅ 0

arguments 对象的老历史

本文经作者 柯拓 授权转载。原文地址:http://www.cnblogs.com/ziyunfei/p/5890322.html 引题:为什么 JavaScript 中的 arguments 对象不是数组 http://www.zhihu.com/question/50803453 Jav...

_朴灵_ ⋅ 05/14 ⋅ 0

37互娱前端校招笔试(2019提前批)

选择题 -7的二进制补码是多少?(牛客题) RSA, SHA, DES, BASE64中哪个是不可逆的? 计算机软件可以分为系统软件和应用软件,请问系统软件的核心是什么? 线性表(7, 34, 55, 25, 64, 46, 2...

求职小小菜鸡 ⋅ 06/06 ⋅ 0

JavaScript 数据类型判断

1.1 JavaScript 数据类型 简单数据类型(基本数据类型): Undefined ; Null ; Boolean ; Number ; String ; Symbol(ES6新增) 复杂数据类型:Object,Object 本质上是由一组无序的名值对组成...

piada ⋅ 05/18 ⋅ 0

由Object.prototype.toString.call( )引发关于toString( )方法的思考

引言 前端面试中有这么一道经典的问题,如何判断一个对象是否为数组? ES5提供了一个确定对象是否为数组的函数 其中,object是必须的,表示要测试的对象 但是,当我们考虑到浏览器兼容性问题...

wangpf ⋅ 05/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Gitee 生成并部署SSH key

1.如何生成ssh公钥 你可以按如下命令来生成 sshkey: ssh-keygen -t rsa -C "xxxxx@xxxxx.com" # Generating public/private rsa key pair...# 三次回车即可生成 ssh key 查看你的 ...

晨猫 ⋅ 49分钟前 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部