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
Pourquoi quand je veux obtenir la valeur non pas par le nom de la variable clé mais par la valeur[1,2], cela n'existe pas Si vous ajoutez comme ça
m.set([1,2], "12") m.set([1,2], "123") m.set([1,2], "1234")
À propos de la carte
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"
Utilisez
===
运算符来比较密钥。数组是对象,===
比较对象的引用,而不是它们的值。[1, 2] === [1, 2]
返回false
car chaque littéral objet/tableau crée une nouvelle référence au nouvel objet. C'est la raisonInsérez trois valeurs en utilisant trois clés différentes et pourquoi
Retour
undefined
.