Tec*_*t10 0 javascript arrays dictionary typescript angular
为了与现有代码交互,我希望在JavaScript/TypeScript中实现具有非唯一键的Map(对于Angular中的Web应用程序).
我知道JavaScript/TypeScript中的Maps强制使用唯一键.如何实现"非唯一"地图?
创建Key-Value对象数组不起作用,因为该结构不会从现有使用者代码的正确形状中反序列化JSON.
例如,我希望创建类似以下结构的东西:
vehicleOptions : NonUniqueMap<key: string, value: {color: string, isTowingCapable: boolean}>
{
"Truck", { "Red", true },
"Compact Sedan", { "Black", false },
"Compact Sedan", { "Blue", false }
}
Run Code Online (Sandbox Code Playgroud)
你不能.
您可以创建一个独特的地图.当您有两个相同的键时,可以将其存储为:
const map = {
"Truck": [{ "Red": true }],
"Compact Sedan": [{ "Black": false }, { "Blue": false }]
}
Run Code Online (Sandbox Code Playgroud)
然后,当你得到值时Compact Sedan,你得到一个数组.
所以你可以获得第一个/第二个值:
map["Compact Sedan"][0]; // { "Black": false }
map["Compact Sedan"][1]; // { "Blue": false }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
709 次 |
| 最近记录: |