JS的map方法和Map对象
map方法 Array.prototype.map()
语法:
array.map(function(item,index,arr), thisValue)
- item:数组每一项 (必须)
- index:每项索引 (可选)
- arr:数组本身 (可选)
- thisValue:修改循环时的this指向,默认全局对象 (可选)
注意点:
- map是生成一个新数组,不适用返回的新数组是违背设计初衷,请用forEach或者for-of,基于设计初衷,使用map时,写出return
- map不会改变原数组,但是可以在回调中改变
- 空数组不会调用map
var arrA = [1, 2, 3, 4];
var b = 1;
arrA.map(function(item, index, arr){console.log(item, index, arr, this)return item++;
}, b)输出:
1 0 (4) [1, 2, 3, 4] Number {1}
2 1 (4) [1, 2, 3, 4] Number {1}
3 2 (4) [1, 2, 3, 4] Number {1}
4 3 (4) [1, 2, 3, 4] Number {1}
Map对象
Map 对象存有键值对,其中的键可以是任何数据类型。
Map 对象记得键的原始插入顺序。
Map 对象具有表示映射大小的属性。
基本的 Map() 方法:
- new Map() 创建新的 Map 对象。
- set() 为 Map 对象中的键设置值。
- get() 获取 Map 对象中键的值。
- entries() 返回 Map 对象中键/值对的数组。
- keys() 返回 Map 对象中键的数组。
- values() 返回 Map 对象中值的数组。
- Map.clear() 从 Map 中移除所有元素
Map()属性
size: 数量
//单个键值对
let map = new Map();
let child = { name:'李狗蛋' };
map.set(child, [1, 2, 3]) //存储
map.get(child) // [1,2,3] 获取
map.has(child) //true 判断是否存在
map.delete(child) //true 删除//多个键值对
let map = new Map([['a', 123],['b', 456]
]);map.get('b') //456
map.size // 2
map.clear(); //清空
JS的map方法和Map对象相关推荐
- 093_Element.getBoundingClientRect()方法和DOMRect对象
1. Element.getBoundingClientRect() 1.1. Element.getBoundingClientRect()方法返回值是一个DOMRect对象, 对象拥有left, ...
- Scala的集合类中的map方法和count 方法
在Scala中,有很多很好用的东西,虽然不怎么会那个东西,但是觉得有时候这个语言的开发速度就是比JAVA的要快.废话不多说: 如下: // 我也不知道Case是干什么用的,但是有了Case,equal ...
- js中call()方法和apply方法的使用
1. 方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call ...
- Scala中的foreach方法和map方法
两个方法的共同点在于(foreach和map):都是用于遍历集合对象,并对每一项执行指定的方法. 而两者的差异在于:foreach无返回值(准确说返回void),map返回集合对象. 结论就是:for ...
- js中splice方法和slice方法
splice方法用来操作数组splice(startIndex,deleteNum,item1,....,) 此操作会改变原数组. 删除数组中元素 参数解释:startIndex为起始index索引. ...
- js给对象添加变量属性 js 更改对象中的属性名 数组对象中每个对象添加一个字段-map用法和forEarch用法
js给对象添加变量属性 & js 更改对象中的属性名 & 数组对象中每个对象添加一个字段-map用法和forEarch用法 1.js给对象添加变量属性 1.js创建一个对象或者在原有对 ...
- pandas中DataFrame的apply()方法和applymap()方法,以及python内置函数map()
我们经常会对DataFrame对象中的某些行或列,或者对DataFrame对象中的所有元素进行某种运算或操作,我们无需利用低效笨拙的循环: import pandas as pd import num ...
- Collection,List,Set和Map用法和区别
Collection,List,Set和Map用法和区别 原创 2009年12月22日 17:05:00 标签: list / hashmap / vector / iterator / object ...
- Node.js的环境搭建方法和 npm 的使用方法
Node.js的环境搭建方法和 npm 的使用方法 Node.js 环境的搭建 Node.js 介绍 Node.js 下载 配置Node.js node.js 测试 npm(包管理器)使用方法 npm ...
最新文章
- nvGRAPH原理概述
- 如何用C#动态编译、执行代码
- 机器学习中常用的高级数据结构和数据分析包工具——pandas
- OSChina 周六乱弹 —— 这辈子最丢脸的事
- docker命令的组合使用
- 【数据结构和算法笔记】:图的深度优先搜索(DFS)
- JDK、J2EE、J2SE、J2ME的区别(转-2021-04-30)
- c# 超时时间已到.在操作完成之前超时时间已过或服务器未响应,超时过期了。在操作完成或服务器没有响应之前经过的超时时间。声明已被终止...
- 学习类App原型制作分享-Wokabulary
- android 画尖角气泡,Android 实现气泡布局/弹窗,可控制气泡尖角方向及偏移量
- 雅虎被收购后,Tumblr 前途未卜,准备在所有博客中引入广告
- 红帽Linux自带的光盘刻录,linux下mkisofs制作光盘映像cdrecord刻录光盘
- 使用计算机能佩戴老花镜,青岛版六年级科学第四单元检测题及答案
- C盘莫名其妙的增加50+G,解决方案
- python指南针_用形状文件或地质指南针绘制遮住的南极洲
- 基于Maple的超静定连续梁内力求解器的实现
- 计算圆,球,圆锥,圆柱的表面积与体积
- 第979期机器学习日报(2017-05-24)
- 电源模块电路中电容的作用
- Operation category READ is not supported in state standby. Visit https://s.apache.org/sbnn-error