JavaScript:Map与Set
JS的默认对象表示方式{ }可以视为Python中的Dict或者C与Java中的Map数据结构,即一组K-V对。
但是JS的对象有个小问题,就是Key必须是String,但实际上Number或者其他类型作为Key都是合理的。
为了解决这个问题,最新的ES6规范引入了新的数据结构Map。
Map
Map是一组K-V的结构,具有极快的查找速度。
构造
var m = new Map( [ ['K1',V1],['K2',V2],['K3',V3],... ] );
初始化Map需要一个二维数组,或者直接初始化一个空Map,再往其中加元素。
访问
m.get('K1');//V1
增删
m.set('K4',V4);//添加键值对 K4-V4 m.delete('K3');//删除K3对应的键值对
检查是否存在Key
m.has('K3');//是否存在Key为'K3'的键值对
Set
Set存储一组不重复的Key。
构造
var s = new Set( [1, 2, 3] );
用一个Array构造一个Set,或者直接创建一个空Set,重复元素只保存一个。
增删
s.add(ele);//添加新元素,如果存在则会失效 s.delete(ele);//删除元素
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
2020-11-02 HTML