IT story

Typescript : 라디오 버튼에 표시하기 위해 열거 형 값을 반복하는 방법은 무엇입니까?

hot-time 2020. 7. 9. 07:56
반응형

Typescript : 라디오 버튼에 표시하기 위해 열거 형 값을 반복하는 방법은 무엇입니까? [복제]


이 질문에는 이미 답변이 있습니다.

Typescript에서 열거 형의 리터럴을 반복하는 올바른 방법은 무엇입니까? (현재 typescrip 1.8.1 사용)

다음 열거 형이 있습니다.

export enum MotifIntervention {
    Intrusion,
    Identification,
    AbsenceTest,
    Autre
}

export class InterventionDetails implements  OnInit
{
constructor( private interService: InterventionService )
{
    let i:number = 0;
    for (let motif in MotifIntervention) {
        console.log( motif );
    }
}

표시되는 결과는 목록입니다

0
1
2
3
Intrusion,
Identification,
AbsenceTest,
Autre

열거 형에 4 개의 요소 만 있기 때문에 루프에서 4 번의 반복 만 원합니다. 나는 열거 형의 인덱스 번호 인 0 1 2 및 3을 원하지 않습니다.


두 가지 옵션 :

for (let item in MotifIntervention) {
    if (isNaN(Number(item))) {
        console.log(item);
    }
}

또는

Object.keys(MotifIntervention).filter(key => !isNaN(Number(MotifIntervention[key])));

( 놀이터의 코드 )


편집하다

문자열 열거 형은 일반 것과 다릅니다. 예를 들면 다음과 같습니다.

enum MyEnum {
    A = "a",
    B = "b",
    C = "c"
}

다음과 같이 컴파일합니다.

var MyEnum;
(function (MyEnum) {
    MyEnum["A"] = "a";
    MyEnum["B"] = "b";
    MyEnum["C"] = "c";
})(MyEnum || (MyEnum = {}));

이 객체를 제공하는 것 :

{
    A: "a",
    B: "b",
    C: "c"
}

다음 ["A", "B", "C"]과 같이 모든 키 ( )를 얻을 수 있습니다 .

Object.keys(MyEnum);

그리고 값 ( ["a", "b", "c"]) :

Object.keys(MyEnum).map(key => MyEnum[key])

Or using Object.values():

Object.values(MyEnum)

참고URL : https://stackoverflow.com/questions/39372804/typescript-how-to-loop-through-enum-values-for-display-in-radio-buttons

반응형