let key = [1,2] let m = new Map() m.set(key, "12") console.log(m.get(key)) // 12 console.log(m.get([1,2])) // undefined
为什么当我想要获取值时不是通过键变量的名称而是通过值[1,2]获取值时,却没有这个东西 如果你添加这样
m.set([1,2], "12") m.set([1,2], "123") m.set([1,2], "1234")
关于地图将会
Map(4) { (2) […] → "12", (2) […] → "12", (2) […] → "123", (2) […] → "1234" }
size: 4
<entries>
0: Array [ 1, 2 ] → "12"
1: Array [ 1, 2 ] → "12"
2: Array [ 1, 2 ] → "123"
3: Array [ 1, 2 ] → "1234"            Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
使用
===运算符来比较密钥。数组是对象,===比较对象的引用,而不是它们的值。[1, 2] === [1, 2]返回false因为每个对象/数组文字都会创建对新对象的新引用。这就是原因使用三个不同的键插入三个值以及原因
返回
undefined。