2016-09-07 27 views
17

Cách thích hợp để lặp đi lặp lại thông qua rác thải của một enum trong Typescript là gì? (Hiện đang sử dụng Typescript 1.8.1)Loại bản ghi: cách lặp qua các giá trị enum để hiển thị trong các nút radio?

Tôi đã có enum sau:

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

Kết quả hiển thị một danh sách

0 
1 
2 
3 
Intrusion, 
Identification, 
AbsenceTest, 
Autre 

tôi muốn chỉ có 4 lần lặp trong vòng lặp vì chỉ có 4 phần tử trong enum, tôi không muốn có 0 1 2 và 3 mà dường như là số chỉ số của enum.

Trả lời

45

Hai lựa chọn:

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

Hoặc

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

(code in playground)

+0

Nó không làm việc vì 0 1 2 3 là chuỗi. – abreneliere

+4

Đó là lý do tại sao có một kiểm tra cho 'isNaN (Số (...))'. Nó hoạt động trong sân chơi tôi chia sẻ –

+0

Có nó hoạt động, tôi phải đã bỏ lỡ một cái gì đó. Tôi nhận thấy đó là giải pháp tốt nhất không có trong câu hỏi trùng lặp. – abreneliere

Các vấn đề liên quan