您的位置:

map通过key获取value的各种方法

一、map根据key获取value值

map是一种常见的容器,它存储了一系列的key-value对。在很多情况下,我们需要从map中找到某个key所对应的value值。下面我们来介绍几种方法:

map.get(key);

上面的代码可以直接通过map的get方法来获取key所对应的value值。


const map = new Map();
map.set('name', 'Tom');
console.log(map.get('name'));

上述代码中,我们定义了一个map对象,并使用set方法往其中添加了一个key-value对。然后使用get方法获取这个key对应的value值并打印出来。运行结果为:

Tom

二、map获取指定key的value

有时候,我们想要获取map中某个已知key所对应的value值,但不知道这个key在map中的位置。下面是两种方法可以解决这个问题:

for (let [key, value] of map) {
  if (key === 'name') {
    console.log(value);
    break;
  }
}

上述代码中,我们使用for...of循环对map进行迭代。在循环的过程中,我们首先比较循环的当前元素的key值是否等于指定的key值。如果相等,就输出value值并跳出循环。


const key = 'name';
console.log(map.get(key));

上述代码中,我们定义了一个常量key,代表要查找的key值。然后直接使用map的get方法获取这个key对应的value值。

三、map获取key值和对应的value

除了根据key获取value,有时候我们也需要同时获取key和value的值。下面是两种方法:

for (let [key, value] of map) {
  console.log(key, value);
}

上述代码中,我们同样使用for...of循环对map进行迭代。在循环的过程中,我们利用ES6的语法将当前元素的key和value通过解构赋值的方式分别存储到两个变量中,并将它们打印出来。


for (let key of map.keys()) {
  console.log(key, map.get(key));
}

上述代码中,我们使用map对象的keys方法返回一个包含map所有key的迭代器。然后使用for...of循环迭代这个迭代器,每次迭代都输出key和对应的value。

四、js获取map的key和value

如果你在使用JavaScript而不是ES6,下面是两种方法来获取map的key和value:

const keys = Array.from(map.keys());
const values = Array.from(map.values());

上述代码中,我们可以通过Array.from方法将map对象的keys和values迭代器转换成数组,然后分别存储到keys和values变量中。

五、获取map的key和value

如果你想要获取整个map的key和value,可以使用下面的代码:

Array.from(map.entries());

上述代码中,我们可以通过调用map的entries方法将整个map转换成一个二维数组,每个数组元素都包含一个key和对应的value。

六、map获取key值

如果你需要获取map所有的key值,可以使用下面的代码:

Array.from(map.keys());

上述代码中,我们可以通过调用map的keys方法获取所有的key值,并通过Array.from方法转换成数组。

七、获取map的key集合

如果你需要获取map中所有的key值集合,可以使用下面的代码:

map.keys();

上述代码中,我们可以直接使用map的keys方法获取一个包含所有key值的iterator。

八、map获取第一个key

如果你想要获取map中第一个key对应的value值,可以使用下面的代码:

const keyIterator = map.keys();
const firstKey = keyIterator.next().value;
const firstValue = map.get(firstKey);

上述代码中,我们通过调用map的keys方法获取一个包含所有key值的迭代器,并使用next方法获取第一个元素的值。然后再使用map的get方法获取这个key对应的value值。

九、map取value

如果你只想获取map中所有的value值,可以使用下面的代码:

Array.from(map.values());

上述代码中,我们调用map的values方法获取所有的value值,并使用Array.from方法将其转换成数组。