2016-09-07 12 views
17

Typescript'te bir enumun litteral'leri arasında geçiş yapmak için uygun yol nedir?Typescript: Radyo düğmelerinde görüntülemek için enum değerlerini nasıl döngülendirirsiniz?

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); 
    } 
} 

görüntülenen sonuç

0 
1 
2 
3 
Intrusion, 
Identification, 
AbsenceTest, 
Autre 

ben döngüde sadece 4 tekrarlamalar istiyorsun listesi aşağıdadır: Ben şu enum var

(Şu typescrip 1.8.1 kullanarak) enumda sadece 4 eleman olduğu için, enumun indeks numaraları gibi görünen 0 1 2 ve 3 olmasını istemiyorum.

cevap

45

İki seçenek:

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

Ya

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

(code in playground)

0 1 2 3 dizeleri çünkü

+0

O çalışmıyor. – abreneliere

+4

Bu yüzden 'isNaN (Number (...))' için bir kontrol var. –

+0

paylaştığım oyun alanında çalışıyor. Evet işe yarıyor, bir şeyleri kaçırmış olmalıyım. Yinelenen soruda olmayan en iyi çözüm olduğunu fark ettim. – abreneliere

İlgili konular