JavaScript中的Map和Set
2024-09-28 20:07:10
JavaScript的默认对象表示方法{}可以视为其他语言中的Map或者Dictionary的数据结构,即一组键值对。
但是JavaScript的对象有个小问题,就是键必须是字符串,但实际上Number或者其他数据类型作为键也是非常合理的。
Map是一组键值对的结构,具有极快的查找速度。
var m = new Map([['Michael',95],['Bob',75],['Tracy',85]]);
m.get('Michael');//
初始化Map需要一个二维数组,或者直接初始化一个空Map。Map具有以下方法:
var m = new Map();//空Map
m.set('Adam',67);//添加新的key-value
m.set('Bob',59);
m.has('Adam');//是否存在key‘Adam’:true
m.get('Adam');//
m.delete('Adam');//删除key‘Adam’
m.get('Adam');//undefined
有雨一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的覆盖掉
var m = new Map();
m.set('Adam',67);
m.set('Adam',88);
m.get('Adam');//
Set
Set和Map类似,也是一组key的集合,但不存储value,由于key不能重复,所以,在Set中,没有重复的key。
要创建一个Set,需要提供一个Array作为输入,或者直接创建一个空Set:
var s1 = new Set();//空set
var s2 = new Set([1,2,3]);//含有1,2,3
重复元素在Set中自动被过滤:
var s = new Set([1,2,3,3,'3']);
s;//Set{1,2,3,'3'},过滤掉一个重复元素3
通过add(key)方法可以添加元素到set中,可以重复添加,但是不会有效果
>>> s.add(4)
>>>s
{1,2,3,4}
>>> s.add(4)
>>> s
{1,2,3,4}
通过delete(key)方法可以删除元素:
var s = new Set ([1,2,3]);
s;//Set{1,2,3}
s.delete(3);
s;//Set{1,2}
最新文章
- 网络编程(一):用C#下载网络文件的2种方法
- 学习笔记之Linux内核编译过程
- 树莓派编译C++
- hdu2588 gcd 欧拉函数
- hadoop配置文件的作用
- javascript中typeof和instanceof用法的总结
- Check for Palindromes-FCC
- 我发起并创立了一个 C 语言编译器 开源项目 InnerC
- FMS Dev Guide学习笔记(SharedBall)
- swift - 解析三方 - ObjectMapper
- CMenu and Dialog-based applications
- (转)Integrating Intel® Media SDK with FFmpeg for mux/demuxing and audio encode/decode usages 1
- AspxGridView中行的双击事件
- RPC框架之Thrift分析(转)
- Android架构设计之插件化、组件化
- IOS开发 arc与非Arc代码的区别
- 6.BOM
- HDU1358 KMP(最短循环节)
- vue清空input file
- Java快车读书笔记
热门文章
- SEH结构
- Javascript模块化编程(三)require.js的用法及功能介绍
- eclipse spring boot项目部署
- javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver错误解决办法
- FlexPaper实现文档在线浏览(附源码)
- 一個新的面試題目,leetcode上面可以找到shortest palindrome
- eclipse中copy qualified name使用方式
- C# 任务并行库使用小计 z
- Python3基本数据类型(五、字典)
- kahadb设计