js取map中的value
JavaScript是一种广泛使用的脚本语言,它在Web开发中具有重要的作用。在JavaScript中,Map是一种非常有用的数据类型,它允许我们将一种类型的值映射到另一种类型的值上。在本文中,我们将研究如何使用JavaScript从Map中获取值。
一、Map介绍
Map是ES6中的新数据类型之一,它允许我们使用任何JavaScript值作为键或值。 Map对象是一个简单的键/值映射。任何值(对象和原始值)都可以作为一个键或一个值。
在Map对象中,每个值都有唯一的键,每个键都有唯一的值,Map对象中的键值对可以按照其插入顺序而访问。这意味着Map对象可以很好地保留插入顺序,并且在无序操作时,不会影响其它项。
二、如何取Map中的Value
在JavaScript中,我们通过Map实例的get()方法来获取Map中指定key对应的value值。例如:
```
let map = new Map([
['name', '张三'],
['age', 20]
])
console.log(map.get('name')) // 输出:张三
console.log(map.get('age')) // 输出:20
```
这是一个非常简单的例子,我们定义了一个新的Map实例,并使用get()方法以键 "name" 和 "age" 来获取相应的值。
三、其他方法获取Map中的Value
除了使用get()方法,还有其他几种方法可以获取Map中的value值:
1. values()方法
values()方法返回所有Map实例中的value值,返回结果是一个迭代器对象,可以使用for...of循环进行遍历输出,例如:
```
let map = new Map([
['name', '张三'],
['age', 20]
])
let values = map.values()
for (let value of values) {
console.log(value) // 输出:张三、20
}
```
2. entries()方法
entries方法返回一个迭代器对象,它包含Map中每一项的[key, value]数组,可以通过解构[键名, 值]的方式访问键值对,例如:
```
let map = new Map([
['name', '张三'],
['age', 20]
])
let entries = map.entries()
for (let [key, value] of entries) {
console.log(`${key}: ${value}`) // 输出:name: 张三、age: 20
}
```
3. forEach()方法
forEach()方法支持回调函数,该函数可以通过参数形式传递,可以通过forEach()方法遍历Map实例,例如:
```
let map = new Map([
['name', '张三'],
['age', 20]
])
map.forEach(function(value, key, map) {
console.log(`${key}: ${value}`)
})
// 输出:name: 张三、age: 20
```
四、一些注意事项
1. 在JavaScript中,Map对象中的每个键都是唯一的,如果多次使用相同的键来添加项,则覆盖已经存在的值。
2. Map实例对象不是Array实例,不能直接使用索引访问。如果尝试使用索引访问,会得到undefined结果。
3. 如果新Map实例需要继承自已存在的Map对象,则可以使用拓展运算符来完成,例如:
```
const original = new Map([
[1, 'a'],
[2, 'b']
])
const extended = new Map([
...original,
[3, 'c']
])
console.log(extended.get(1)) // 输出:a
console.log(extended.get(2)) // 输出:b
console.log(extended.get(3)) // 输出:c
```