簡體   English   中英

Javascript Map Object 多個鍵對應一個值

[英]Javascript Map Object with multiple keys to one value

是否可以在 JS Map 中有多個鍵給出相同的結果,而不必全部編寫?

例如:

const mp = new Map<number, string>([
      [2 || 4, 'even'],
      [1 || 3, 'odd']
    ]);

這不起作用,但我正在尋找類似的東西來避免非常冗長的 switch case

是否可以在 JS Map 中有多個鍵給出相同的結果,而不必全部編寫?

不是。A map 是鍵和值之間的 1:1 連接。 如果您希望兩個不同的鍵具有相同的值,這意味着您需要在 map 中創建兩個條目。

您可以編寫自己的助手,將不太冗長的輸入轉換為new Map()期望的輸入:

 const mapReducer = (arr, [keys, val]) => [...arr, ...(Array.isArray(keys)? [...keys.map(key => [key, val])]: [[keys, val]] ) ]; const mp = new Map([ [[2, 4], 'even'], [[1, 3], 'odd'], [0, 'meh...'] ].reduce(mapReducer, [])); console.log([...mp.entries()])

暫無
暫無

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

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