私は次のJavascriptオブジェクトを持っています:
{
"dataMap":{
"2027":{
"userId":2027,
"code":"abcdef",
"title":"abcdef",
"questions":1
}
"2028":{
"userId":2028,
"code":"abcdef",
"title":"abcdef",
"questions":1
}
}
}
これには、他のオブジェクトdataMapが含まれ、その中には他のオブジェクトが含まれています。dataMapオブジェクトのインターフェイスを作成する方法を教えてもらえますか?
私が欲しいのは、私が入ることができるようにインターフェースを持っていることです:
var a = b.dataMap[2027].userId // okay and allowed
var a = b.dataMap[2027].xxxyId // gives a typescript error
インデックス署名付きのインターフェイスを使用できます。
interface User {
userId: number;
code: string;
title: string;
questions: number;
}
interface DataMap {
[index: number]: User;
}
また、データマップが再びオブジェクトに含まれている特定の例では、次のようになります。
interface DataMapContainer {
dataMap: DataMap;
}
var b: DataMapContainer = { "dataMap": { ... } };
b.dataMap[2027].userId; // okay
b.dataMap[2027].xxx; // error
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加