[解決済み] enumの項目名を取得する方法は?
2022-03-19 16:54:56
質問
TypeScriptのenumオブジェクトを繰り返し処理し、例えば列挙された各シンボル名を取得したいのですが。 enum myEnum { entry1, entry2 }.
for (var entry in myEnum) {
// use entry's name here, e.g., "entry1"
}
解決方法は?
投稿されたコードは動作します。enum のすべてのメンバー(enum のメンバーの値を含む)が出力されます。例えば、次のようなコードです。
enum myEnum { bar, foo }
for (var enumMember in myEnum) {
console.log("enum member: ", enumMember);
}
次のように表示されます。
Enum member: 0
Enum member: 1
Enum member: bar
Enum member: foo
その代わりに、メンバー名だけが必要で、値は必要ない場合は、次のようにします。
for (var enumMember in myEnum) {
var isValueProperty = parseInt(enumMember, 10) >= 0
if (isValueProperty) {
console.log("enum member: ", myEnum[enumMember]);
}
}
これで名前だけが出力されます。
Enum member: bar
Enum member: foo
注意:これは若干、実装の詳細に依存しています。TypeScriptはenumをJSオブジェクトにコンパイルし、enumの値はそのオブジェクトのメンバになる。もしTSが将来的に異なる実装をすることになった場合、上記のテクニックは破綻する可能性がある。
関連
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] Typescript の enum スイッチが機能しない
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] C#の[Flags]Enum属性の意味とは?
-
[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
-
[解決済み] Pythonで'Enum'を表現するにはどうしたらいいですか?
-
[解決済み】TをEnumに拘束するGenericメソッドの作成
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Godotで文字列をenumに変換するには?
-
[解決済み] Typescript の enum スイッチが機能しない
-
[解決済み] Goでenumを表現する慣用的な方法は何ですか?
-
[解決済み] enumの項目名を取得する方法は?
-
[解決済み] ラジオボタンに表示するためのenum値をループで処理するにはどうしたらいいですか?重複
-
[解決済み] angular2 のビューテンプレートで enum を渡す
-
[解決済み] Dart enumの "値 "を取得する方法
-
[解決済み] TypeScriptでenumのような型を作成する方法は?
-
[解決済み] Typescriptにはunionがあるので、enumは冗長なのか?
-
[解決済み] 逆引きでKotlinのEnumを効率的に使う?