map方法 Array.prototype.map()

语法:

array.map(function(item,index,arr), thisValue)

  • item:数组每一项 (必须)
  • index:每项索引 (可选)
  • arr:数组本身 (可选)
  • thisValue:修改循环时的this指向,默认全局对象 (可选)

注意点:

  1. map是生成一个新数组,不适用返回的新数组是违背设计初衷,请用forEach或者for-of,基于设计初衷,使用map时,写出return
  2. map不会改变原数组,但是可以在回调中改变
  3. 空数组不会调用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对象相关推荐

  1. 093_Element.getBoundingClientRect()方法和DOMRect对象

    1. Element.getBoundingClientRect() 1.1. Element.getBoundingClientRect()方法返回值是一个DOMRect对象, 对象拥有left, ...

  2. Scala的集合类中的map方法和count 方法

    在Scala中,有很多很好用的东西,虽然不怎么会那个东西,但是觉得有时候这个语言的开发速度就是比JAVA的要快.废话不多说: 如下: // 我也不知道Case是干什么用的,但是有了Case,equal ...

  3. js中call()方法和apply方法的使用

    1. 方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call ...

  4. Scala中的foreach方法和map方法

    两个方法的共同点在于(foreach和map):都是用于遍历集合对象,并对每一项执行指定的方法. 而两者的差异在于:foreach无返回值(准确说返回void),map返回集合对象. 结论就是:for ...

  5. js中splice方法和slice方法

    splice方法用来操作数组splice(startIndex,deleteNum,item1,....,) 此操作会改变原数组. 删除数组中元素 参数解释:startIndex为起始index索引. ...

  6. js给对象添加变量属性 js 更改对象中的属性名 数组对象中每个对象添加一个字段-map用法和forEarch用法

    js给对象添加变量属性 & js 更改对象中的属性名 & 数组对象中每个对象添加一个字段-map用法和forEarch用法 1.js给对象添加变量属性 1.js创建一个对象或者在原有对 ...

  7. pandas中DataFrame的apply()方法和applymap()方法,以及python内置函数map()

    我们经常会对DataFrame对象中的某些行或列,或者对DataFrame对象中的所有元素进行某种运算或操作,我们无需利用低效笨拙的循环: import pandas as pd import num ...

  8. Collection,List,Set和Map用法和区别

    Collection,List,Set和Map用法和区别 原创 2009年12月22日 17:05:00 标签: list / hashmap / vector / iterator / object ...

  9. Node.js的环境搭建方法和 npm 的使用方法

    Node.js的环境搭建方法和 npm 的使用方法 Node.js 环境的搭建 Node.js 介绍 Node.js 下载 配置Node.js node.js 测试 npm(包管理器)使用方法 npm ...

最新文章

  1. nvGRAPH原理概述
  2. 如何用C#动态编译、执行代码
  3. 机器学习中常用的高级数据结构和数据分析包工具——pandas
  4. OSChina 周六乱弹 —— 这辈子最丢脸的事
  5. docker命令的组合使用
  6. 【数据结构和算法笔记】:图的深度优先搜索(DFS)
  7. JDK、J2EE、J2SE、J2ME的区别(转-2021-04-30)
  8. c# 超时时间已到.在操作完成之前超时时间已过或服务器未响应,超时过期了。在操作完成或服务器没有响应之前经过的超时时间。声明已被终止...
  9. 学习类App原型制作分享-Wokabulary
  10. android 画尖角气泡,Android 实现气泡布局/弹窗,可控制气泡尖角方向及偏移量
  11. 雅虎被收购后,Tumblr 前途未卜,准备在所有博客中引入广告
  12. 红帽Linux自带的光盘刻录,linux下mkisofs制作光盘映像cdrecord刻录光盘
  13. 使用计算机能佩戴老花镜,青岛版六年级科学第四单元检测题及答案
  14. C盘莫名其妙的增加50+G,解决方案
  15. python指南针_用形状文件或地质指南针绘制遮住的南极洲
  16. 基于Maple的超静定连续梁内力求解器的实现
  17. 计算圆,球,圆锥,圆柱的表面积与体积
  18. 第979期机器学习日报(2017-05-24)
  19. 电源模块电路中电容的作用
  20. Operation category READ is not supported in state standby. Visit https://s.apache.org/sbnn-error

热门文章

  1. 视频教程-区块链基础:共识算法-区块链
  2. 七年级 电子计算机 教材分析,七年级信息技术教学计划表
  3. 农场渲染文件服务器搭建,【渲染农场】如何搭建工作室小规模gpu渲染农场
  4. linux下查找某文件/文件夹所在的位置
  5. C语言编程题:用泰勒级数求自然数e的近似值
  6. Java 获取当前时间前一个小时的时间
  7. 原子性 可见性 有序性_极简主义的内容可见性
  8. 让家庭机器人成标配,我们还需要等多久?
  9. 洛谷P1796 汤姆斯的天堂梦【DP-数字三角形模型】【橙】
  10. linux系统之时间同步设置