JavaScript之Map

简介: 引入通过之前的了解我们知道JS中的对象很像其他语言中的“字典”数据类型——一个键对应一个值,是一串键值对构成的数据类型。但是我们也发现,JavaScript的对象又不完全等同于字典。因为JavaScript的对象只能是字符串来构成键实际生活中,用数值或者其他数据类型来构成键其实也是很需要的,比如我们班每个同学的序号和其对应分数。这样就没必要用字符串来对应分数,都用数字类型存储就完全ok了。

引入


通过之前的了解我们知道JS中的对象很像其他语言中的“字典”数据类型——一个键对应一个值,是一串键值对构成的数据类型。

但是我们也发现,JavaScript的对象又不完全等同于字典。因为JavaScript的对象只能是字符串来构成键

实际生活中,用数值或者其他数据类型来构成键其实也是很需要的,比如我们班每个同学的序号和其对应分数。这样就没必要用字符串来对应分数,都用数字类型存储就完全ok了。

所以在ES6规范中引入了新的数据类型map,来适配上面的这种需要。且具有极高的查找速度——


1.构建map


如果我们想构建一个map,就需要创建一个键值对的对照表。查找的时候会直接依据名字查找数据,无论表有多大,查找速度都不会变慢:


var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
m.get('Michael'); // 95


如上代码。我们用new map来创建一个map,并赋值给m。new map里面是一个用中括号括起来的各个键值对组成的array。

创建好之后用get就可以把你想取出的键对应的值取出来了


2.map的相关方法


我们知道怎么创建一个map了,但是非常尴尬的是如果这么创建的map的话显然非常麻烦。 我们接下来就来了解一下如何简单且符合程序逻辑地创建一个map:


var m = new Map(); // 空Map
m.set('Adam', 67); // 添加新的key-value


如此,其实我们可以在需要map的时候定义一个,然后用set来添加新的记录。

除此之外,map还具有以下可操作的方法:


m.has('Adam'); // 是否存在key 'Adam': true
m.get('Adam'); // 67
m.delete('Adam'); // 删除key 'Adam'
m.get('Adam'); // undefined


需要注意的是,一个key只能对应一个value,重复对一个key写入value会把前一个value替代掉。可以理解成每次都是在创建新的key和value键值对,创建了新的,旧的就没有了


相关文章
|
存储 JavaScript 前端开发
js中map属性
js中map属性
162 1
|
9月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
存储 JavaScript 前端开发
JavaScript进阶-Map与Set集合
【6月更文挑战第20天】JavaScript的ES6引入了`Map`和`Set`,它们是高效处理集合数据的工具。`Map`允许任何类型的键,提供唯一键值对;`Set`存储唯一值。使用`Map`时,注意键可以非字符串,用`has`检查键存在。`Set`常用于数组去重,如`[...new Set(array)]`。了解它们的高级应用,如结构转换和高效查询,能提升代码质量。别忘了`WeakMap`用于弱引用键,防止内存泄漏。实践使用以加深理解。
327 3
|
JavaScript 前端开发
JavaScript Array map() 方法
JavaScript Array map() 方法
|
JavaScript 前端开发
js map和reduce
js map和reduce
|
存储 JavaScript 前端开发
js的map和set |21
js的map和set |21
|
存储 JavaScript 前端开发
js中map属性
js中map属性
278 0
|
JavaScript 前端开发 索引
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
这段代码和说明介绍了JavaScript中数组的一些常用方法。函数接收三个参数:`item`(数组项的值)、`index`(项的位置,可选)和`array`(数组本身,可选)。示例展示了如何使用`filter()`过滤非空项、`forEach()`遍历数组、`map()`处理并返回新数组、`every()`检查所有元素是否满足条件、`some()`检查是否存在满足条件的元素、`find()`获取首个符合条件的元素值以及`findIndex()`获取其索引位置。这些方法都不会修改原数组。
383 0
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
|
前端开发 JavaScript 索引
JavaScript 数组常用高阶函数总结,包括插入,删除,更新,反转,排序等,如map、splice等
JavaScript数组的常用高阶函数,包括遍历、插入、删除、更新、反转和排序等操作,如map、splice、push、pop、reverse等。
424 0

热门文章

最新文章