是否可以在 JS Map 中有多個鍵給出相同的結果,而不必撰寫所有鍵?
例如:
const mp = new Map<number, string>([
[2 || 4, 'even'],
[1 || 3, 'odd']
]);
這不起作用,但我正在尋找類似的東西來避免非常冗長的 switch case
uj5u.com熱心網友回復:
您可以撰寫自己的助手將不太冗長的輸入轉換為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()])
uj5u.com熱心網友回復:
是否可以在 JS Map 中有多個鍵給出相同的結果,而不必撰寫所有鍵?
不,映射是鍵和值之間的 1:1 連接。如果您希望兩個不同的鍵具有相同的值,這意味著您需要在映射中創建兩個條目。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/409772.html
標籤:
