原生Map类

映射

映射可以理解为字典,不同于数组,允许使用任何值作为索引,映射的键是唯一的,若传入重复的键值对,会用新的值代替旧的值

创建映射

let m = new Map()
let n = new Map([   // Map(2) { 'one' => 1, 'two' => 2 }
    ["one", 1],
    ["two", 2]
])

方法

n.size  // 2
n.set("three", 3)
n.set("A", "a").set("B", "b")   // 可以链式调用
n.get("two")    // 2
n.has("one")    // true
n.has("ten")    // false
n.delete("three")   // 返回布尔值
m.clear()   // 清空映射

迭代

map也是按照插入顺序进行迭代的
复制代码
for(let i of n){
    /*
    [ 'one', 1 ]
    [ 'two', 2 ]
    [ 'A', 'a' ]
    [ 'B', 'b' ]
    */
    console.log(i)
}
复制代码

可以直接解构操作

for(let [k, v] of n){
    console.log(k, v)
}
也可直接使用keys(),values()和entries()方法
[...n.keys()];
[...n.values()];
[...n.entries()];
映射也实现了foreach()方法,参数为(value,key)
n.forEach(v, k =>{
    console.log(k, v)
})

 

posted @   邢韬  阅读(40)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
点击右上角即可分享
微信分享提示