[解決済み] TypeScriptのオブジェクトをC#のようにDictionary型にする
2022-03-24 15:08:50
質問
例えば、'person'オブジェクトは、電子メールアドレスをキーにした個人情報を保持します。
var people = {<email> : <'some personal data'>};
adding > "people[<email>] = <data>;"
getting > "var data = people[<email>];"
deleting > "delete people[<email>];"
これをTypescriptで記述することは可能でしょうか?それともArrayを使用しなければならないのでしょうか?
どのように解決するのですか?
新しいバージョンのtypescriptでは、使用することができます。
type Customers = Record<string, Customer>
古いバージョンでは、使用できます。
var map: { [email: string]: Customer; } = { };
map['[email protected]'] = new Customer(); // OK
map[14] = new Customer(); // Not OK, 14 is not a string
map['[email protected]'] = 'x'; // Not OK, 'x' is not a customer
毎回タイプアノテーションを全部打ち出すのが面倒なら、インターフェイスを作ることもできます。
interface StringToCustomerMap {
[email: string]: Customer;
}
var map: StringToCustomerMap = { };
// Equivalent to first line of above
関連
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] 辞書から要素を削除する
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】TypeScriptのインターフェースと型について
-
[解決済み] Bash配列から要素を削除する
-
[解決済み] bashで$@から最初の要素を削除する [重複] [重複
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Bashで文字列を配列に分割する方法は?
-
[解決済み] Bashで配列の要素を結合するには?
-
[解決済み] TypeScriptのオブジェクトをC#のようにDictionary型にする
-
[解決済み】数値の配列が与えられたとき、他のすべての数値の積の配列を返す(除算なし)
-
[解決済み】Bashでコマンドライン引数を配列に変換する。
-
[解決済み] PowerShellで配列のすべてのオブジェクトの1つのプロパティの値を選択する
-
[解決済み] scalaのArrayとListの違いについて
-
[解決済み] bashで$@から最初の要素を削除する [重複] [重複
-
[解決済み] Swift。配列を参照で渡す?
-
[解決済み] 行列を1次元の配列に変換する。