为了与现有代码交互,我希望在 JavaScript/TypeScript 中实现一个带有非唯一键的 Map(用于 Angular 中的 Web 应用程序)。
我知道 JavaScript/TypeScript 中的 Map 强制执行唯一键。如何实现“非唯一”地图?
创建键值对象数组不起作用,因为该结构不会从 JSON 反序列化为现有消费者代码的正确形状。
例如,我希望创建类似以下结构的内容:
vehicleOptions : NonUniqueMap<key: string, value: {color: string, isTowingCapable: boolean}>
{
"Truck", { "Red", true },
"Compact Sedan", { "Black", false },
"Compact Sedan", { "Blue", false }
}
你不能。
您可以创建独特的地图。当您有两个相同的密钥时,您可以将其存储为:
const map = {
"Truck": [{ "Red": true }],
"Compact Sedan": [{ "Black": false }, { "Blue": false }]
}
然后,当您获得 的值时Compact Sedan
,您将获得一个数组。
所以你可以得到第一个/第二个值:
map["Compact Sedan"][0]; // { "Black": false }
map["Compact Sedan"][1]; // { "Blue": false }
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句