簡體   English   中英

如何獲取 Map object 中唯一的鍵值對?

[英]How to get the only key-value pair in a Map object?

NodeJS 上的語言是 TypeScript / JavaScript。 我有一個 map,偶爾只有一個鍵。 在這種情況下,我需要獲取密鑰和映射到它的 object 並對其進行一些處理。 負責處理map的function不知道key的值是什么。 因此,我不能調用get()傳遞密鑰。

只是為了澄清 map 是實際的Map object。

我的問題是:當 map 中只有一個鍵且其值未知時,如何檢索該鍵及其映射值? 我想使用entries()方法,但它返回一個迭代器。

if (map.size === 1) {
    let key
    let value
    // how do I populate key and value? 
}

使用.next手動調用迭代器並從數組中獲取兩個結果值:

 const map = new Map([['foo', 'bar']]); const [key, value] = map.entries().next().value; console.log(key, value);

你可以試試這個:

if (map.size === 1) {
    let keyValuePair = map.entries().next().value; // get next element in generator and it's value
    let key = keyValuePair[0];
    let value = keyValuePair[1];
    // do whatever you want
}

或者,如果您想要更短的語法:

if (map.size === 1) {
    let [key, value] = map.entries().next().value;
    // do whatever you want
}

您可以使用for... of...結構:

for (var [mapKey, mapValue] of map) {
  key = mapKey;
  value = mapValue;
}

即使它只有一個鍵,這樣您即使不知道它是什么鍵也可以訪問它。

使用forEach()方法也可以做到這一點......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM