JavaScript - Map.get() 方法



在 JavaScript 中,Map.get() 方法用于返回与指定键关联的 “value”。它以 'key' 作为参数;如果提供的键存在于 Map 对象中,则此方法返回相应的值。如果在 Map 对象中找到该键,则返回 'undefined' 作为结果。

如果与 Map 中的键关联的值是一个对象,则 Map.get() 返回对该对象的引用。因此,对该对象所做的任何更改也将反映在 Map 对象中。

此方法几乎兼容所有浏览器,例如 Chrome、Edge、Firefox、Opera 和 Safari。

语法

以下是 JavaScript Map.get() 方法的语法 -


 get(key)

参数

此方法只接受一个参数。下面描述相同 -

  • key − 要从映射中检索其关联 “value” 的键。

返回值

此方法返回与指定键关联的 “value”,如果 Map 对象中不存在该键,则返回 “undefined”。

示例 1

以下示例演示了 JavaScript Map.get() 方法的基本用法 -


<html>
<body>
	  <script>
	 	 	 let map = new Map();
	 	 	 map.set(1, 'apple');
	 	 	 map.set(2, 'banana');
	 	 	 map.set(3, 'cherry');
	 	   
	 	 	 document.write(map.get(2));
	  </script>
</body>
</html>

如果我们执行上述程序,它将返回与指定键 “2” 关联的值 (“banana”)。

示例 2

如果提供的键在 Map 对象中不存在,则此方法将返回 “undefined” 作为结果。

在这里,我们在 Map 对象中检索键 (“4”) 的关联值 -


<html>
<body>
	  <script>
	 	 	 let map = new Map();
	 	 	 map.set(1, 'apple');
	 	 	 map.set(2, 'banana');
	 	 	 map.set(3, 'cherry');
	 	 	 document.write(map.get(4));
	  </script>
</body>
</html>

执行上述程序后,返回 “undefined” 作为结果。

示例 3

如果 do not 将任何参数传递给 get() 方法,则返回 “undefined” 作为结果。


<html>
<body>
	  <script>
	 	 	 let map = new Map();
	 	 	 map.set(1, 'apple');
	 	 	 map.set(2, 'banana');
	 	 	 map.set(3, 'cherry');
	 	   
	 	 	 document.write(map.get());
	  </script>
</body>
</html>

执行上述程序后,返回 “undefined” 作为结果。

示例 4

在此示例中,我们首先创建了一个具有 'name' 和 'age' 属性的对象 “obj”,并使用键 '1' 将其添加到 Map 中。然后,我们使用 Map.get() 从 Map 中检索对象并将其存储在 “retrievedObj” 中。然后,我们通过更新 age 属性来修改 retrievedObj。

最后,当我们再次使用 Map.get() 检索与 '1' 关联的对象时,我们看到对 retrievedObj 所做的更改已经反映在 Map 中存储的原始对象中。


<html>
<body>
	  <script>
	 	 	 const map = new Map();
	 	   
	 	 	 // Create an object and add it to the Map
	 	 	 const obj = { name: 'Varun', age: 45 };
	 	 	 map.set('1', obj);
	 	
	 	 	 // Retrieve the object from the Map
	 	 	 const retrievedObj = map.get('1');
	 	
	 	 	 // Modify the retrieved object
	 	 	 retrievedObj.age = 55;
	 	
	 	 	 document.write(JSON.stringify(map.get('1'))); // Output: { name: 'Varun', age: 55 }
	  </script>
</body>
</html>

正如我们在输出中看到的那样,更改已反映在原始 Map 对象中。