ES6中map的set方法能否判断键是否存在然后区别处理呢?

需求是在向map中添加键值的时候,如何先判断键已经存在,然后进行不同的处理呢?

let msg = new Map()
msg.set('a',{count: 10})
msg.set('a',{count: 20})

我想实现的是 a如果存在 那么count相加,a不存在的话,直接添加对应键值对就行了

这个应该如何去实现呢?

阅读 3k
2 个回答

打开控制台甩起键盘就是一个new Map()
clipboard.png
有这么多方法诶,都啥意思啊,挽起袖子就是一个MDN,这不都有了:

clipboard.png

?:

let msg = new Map()
msg.set('a',{count: 10})
if(msg.has('a')){
    let data=msg.get('a')
    data.count+=10
    msg.set('a',data)
}else{
        msg.set('a',{count:10})

}

借用楼上的方法,

let msg = new Map()
msg.set('a',{count: 10});
if(msg.has('a')) {
    var val = msg.get('a').count;
    val += val;
    msg.set('a',{count: val} )
}else {
    mgs.set('a', {count: 10})
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进