数组Api .map()的使用
之前并没有过多的使用过这个Api,在此记录下对其的理解,方便以后多多使用。
首先是对map的说明:
var mappedArray = array.map(callback[, thisObject]);
callback: 要对每个数组元素执行的回调函数。
thisObject : 在执行回调函数时定义的this对象。
其可以为数组中的每一个元素执行一次回调函数,并将返回值存入一个新数组中。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略。map 不会改变原有数组,调函数可以有三个参数:当前元素,当前元素的索引和当前的数组对象。
例子:
//例子,arr为原始数组
var arr = [
{name: 'gonn', age: 20, sex: '1', No: '274200'},
{name: 'nowamagic', age: 30, sex: '0', No: '274011'},
{name: 'frie', age: 40, sex: '1', No: '274212'}
]; //使用map更改数组每项的值,可对数组每一项元素内部进行增删改,也可以通过return null来删除数组的某项
var arr2 = arr.map(function(item, i){
item.sex = item.sex == '0' ? '女' : '男';
if(item.name == 'tom'){
return null; //删除name为tom的项
}
return {
index: i,
name: item.name,
age: item.age + 30 + i,
sex: item.sex
};
});
数组Api .map()的使用的更多相关文章
- 兼容 数组 api map代码
if(!("map" in Array.prototype)) Array.prototype.map=function(fun){ for(var i=0,arr=[]; i&l ...
- javascript_core_10之继承与数组API
1.现有两对象间的继承:Object.setPrototypeOf(child,father): 2.基于现有父对象创建子对象:var child=Object.create(father,{新属性} ...
- 数组API(2)
ES5中数组新增API: 1. indexOf 作用:检测当前数据是否在数组中存在: 特点:如果存在返回相对应的下标,如果不存在则返回-1: 如果数组中存在多个需要判断的这个数据,则返回最近的这个数据 ...
- 第9章 集合处理(数组、Map、Set)
目录 1. 数组 1.1 创建数组 1.2 在数组两端添加删除元素 1.3 在数组任意位置添加.删除元素 delete删除数组元素无效 使用splice方法增.删.改元素 1.4 数组的常用操作 数组 ...
- Microsoft Win32 to Microsoft .NET Framework API Map
Microsoft Win32 to Microsoft .NET Framework API Map .NET Development (General) Technical Articles ...
- javascript_core_04之数组API
1.数组API——splice: ①删除:var deletes=arr.splice(starti,n):删除starti位置开始的n个,返回删除元素组成的临时数组: ②插入:arr.splice( ...
- Go语言学习笔记(三)数组 & 切片 & map
加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 数组 Arrays 数组是同一种数据类型的固定长度的序列. 数组是值类型,因此改变副本的值,不会改变本身的值: 当 ...
- 数组Array、数组API
1.数组:批量管理多个数据的存储空间. 数组的作用:现实中,批量管理多个数据都是集中分组存放,良好的数据结构,可极大提高程序的执行效率! 优点:方便查找 2.创建数组:(4种方式) (1)var 变量 ...
- JavaScript中对数组和数组API的认识
JavaScript中对数组和数组API的认识 一.数组概念: 数组是JavaScript中的一类特殊的对象,用一对中括号“[]”表示,用来在单个的变量中存储多个值.在数组中,每个值都有一个对应的不重 ...
随机推荐
- [转载]typedef常见用法
注:本文系转载,并修改了一些错误. typedef常见用法 1.常规变量类型定义 例如:typedef unsigned char uchar描述:uchar等价于unsigned char类型定义 ...
- 使用ViewPager实现三个fragment切换
新建一个android项目 先展示效果吧 首先看myfragmentPagerAdater这个类的代码 package com.example.viewpager; import java.util. ...
- weblogic下 微信公众平台获取token报错
问题描述: 开发微信公众平台,本地tomcat可以正常获取token并发送模板消息,部署在weblogic后报错,异常信息如下: java.security.InvalidKeyException: ...
- 使用 maven:archetype 创建JSF2 + EJB3.1 + JPA2项目骨架并在JBoss WildFly 8.1上部署
运行下面命令创建项目骨架: mvn archetype:generate -DarchetypeGroupId=org.jboss.spec.archetypes -DarchetypeArtifac ...
- LNMP一键安装包 V1.1
通告
LNMP一键安装包 是一个用Linux Shell编写的能够为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.P ...
- 23web app实现上下左右滑动
转载请说明出处:http://blog.csdn.net/wowkk/article/category/1619287 (创意系列) /*最近项目须要苹果电脑,假设您支持学生创业并愿意赞助我们一台,请 ...
- Qt 学习之路:文件
文件操作是应用程序必不可少的部分.Qt 作为一个通用开发库,提供了跨平台的文件操作能力.从本章开始,我们来了解下 Qt 的文件以及输入输出的功能,也就是 I/O 系统. Qt 通过QIODevice提 ...
- Google代码实验室
https://code.google.com/p/google-styleguide/
- windows10UWP:Segoe MDL2 图标指南
windows10 UWP 开发中,图标的使用非常广泛.为此,微软建议大家使用 Segoe MDL2 Assets 字体来获取图标.Segoe MDL2 Assets 包括了哪里图标,微软在 http ...
- jQuery循环给某个ID赋值
1.id名为sl的input框循环赋值 $("input[id=sl]").each(function(){alert(this.value) })