簡體   English   中英

Javascript對象/數組作為Map的鍵

[英]Javascript object/array as key for Map

將2個字符串變量用作Map的鍵的最佳方法是什么?

const map = new Map();
map.set(['a', 'b'], 5);
map.get(['a', 'b']); //undefined

創建對[v1, v2]的引用並將其用作鍵不是我的情況的選擇。

將兩個變量與定界符組合在一起的唯一選擇是嗎? (如果字符串變量可能包含定界符,則會很混亂)。

可能會嵌套地圖:

var map=new Map();

function set(key1,key2,value){
  if(map.has(key1)){
    return map.get(key1).set(key2,value);
  }
  return map.set(key1,new Map([[key2,value]]));
}

function get(key1,key2){
 if(map.has(key1)){
  return map.get(key1).get(key2);
 }
 return false;
}

set("a","b","value");
console.log(get("a","b"))

如果您想要可變長度的鍵,則可以遞歸創建Maps並在末尾添加出口定界符 ,可能是一個符號:

var exit=Symbol("exit");
set("a",exit,"value");
set("a","b",exit,"value");

暫無
暫無

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

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