老师为什么 获取值和删除值没有效果
来源:3-5 编程练习
weixin_慕沐9107889
2022-02-14 22:33:40
<script>
const m = new Map();
m.set({},1);
console.log(m.get({}) //这里为什么获取的值是undefined 不是1
m.delete({});//也删除不了
</script>
1回答
好帮手慕小李
2022-02-15
同学你好,解答如下:
1、首先同学的代码报错了。

更改后如下:

2、m.get({})打印这个就是undefined因为,设置了一个空对象。这里直接打印m可以得到设置好的对象如下:

结果如下:

3、删除不了是因为,对象在内存中保存的是地址,m.set({},1)与console.log(m.get({}) )中的{ },只是长得一样,实际上并不是同一个对象。 可以将代码修改成如下形式,就可以实现设置、删除同一个{ }了:

同学自己试试,祝学习愉快!
相似问题