一、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方法將其轉換成數組。
原創文章,作者:WXAS,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/134690.html