3
A
答えて
5
活字体列挙:
enum MyEnum {
First, Second
}
は、JavaScriptオブジェクトにtranspiledさ:
var MyEnum;
(function (MyEnum) {
MyEnum[MyEnum["First"] = 0] = "First";
MyEnum[MyEnum["Second"] = 1] = "Second";
})(MyEnum || (MyEnum = {}));
あなたはwindow["EnumName"]
からenum
インスタンスを取得することができます。
const MyEnumInstance = window["MyEnum"];
次あなたが列挙型のメンバの値を取得することができます:
const enumMemberValues: number[] = Object.keys(MyEnumInstance)
.map((k: any) => MyEnumInstance[k])
.filter((v: any) => typeof v === 'number').map(Number);
そして、列挙型のメンバ名:
const enumMemberNames: string[] = Object.keys(MyEnumInstance)
.map((k: any) => MyEnumInstance[k])
.filter((v: any) => typeof v === 'string');
も参照してくださいHow to programmatically enumerate an enum type in Typescript 0.9.5?
+0
ウィンドウ[enumname]が動作しませんでした。おそらく名前空間を使用しているからです。しかし、 "eval(ennamame)"が機能しました。 –
2
他の回答を提供していることwindow
アプローチに代わるものとしては、次の操作を行うことができます:
enum SomeEnum { A, B }
let enumValues:Array<string>= [];
for(let value in SomeEnum) {
if(typeof SomeEnum[value] === 'number') {
enumValues.push(value);
}
}
enumValues.forEach(v=> console.log(v))
//A
//B
関連する問題
- 1. 取得列挙型文字列
- 2. 列挙型の列挙型名を取得します。
- 3. 名前の列挙型
- 4. Java MyBatis列挙型文字列値
- 5. 列挙型の値がタプルの場合、列挙型のオブジェクトを文字列から取得しますか?
- 6. 列挙型の列挙型の列挙型へのアクセス
- 7. 列挙型:列挙型の名前ではなく、そのint型の値を文字列として取得する必要があります
- 8. DBの列挙型または列挙型の列挙型
- 9. なぜ列挙型の名前の前に列挙型の文字数があるのですか?
- 10. 列挙型の中の列挙型
- 11. 列挙型の列挙型の作成
- 12. 列挙型の値を別々の列挙型で再利用
- 13. 列挙型内の列挙型
- 14. 列挙型の値列PHP
- 15. jqGrid表示列挙型の文字列
- 16. は、文字列の列挙型
- 17. 文字列と列挙型の説明
- 18. 列挙型の文字列表現、NSLog
- 19. TypeScript文字列ベースの列挙型コンパイラエラー
- 20. 列挙型と文字列の一致
- 21. 列挙型全体の中の文字列を取得し、列挙型定数を返します。
- 22. JSON文字列を列挙型にデシリアライズ
- 23. 文字列または列挙型
- 24. Rails列挙型シンボル対文字列
- 25. 列挙型オーバーヘッドなしの文字列リテラル型を取得する方法
- 26. 列挙型インスタンスの名前を取得します
- 27. 文字列の値と列挙型の文字列値の比較
- 28. 列挙型の
- 29. 列挙型宣言でint型の値
- 30. 列挙型データ型
あなたは反射を使用することができました、この投稿のようなものhttp://stackoverflow.com/questions/15338610/dynamically-loading-a-typescript-class-re形容詞のためのflection-for-typescript。とにかく、それが正しい方法か、それとも "普通の"方法でそれにアクセスできるかを最初に考えてみましょう。 – iberbeu