J'ai une enum que je transforme en array et j'aimerai récupérer uniquement les propriétés de mon enum et pas les méthodes qui y sont associées.
C'est pourquoi j'ai testé d'utiliser hasOwnProperty() dans mon code :
Ici j'envoie le resultat de CounterTypeEnum.counterTypeDictionary() à une combobox dans laquelle j'aimerai voir apparaître uniquement generic, level, pressure. Or actuellement il y a des espaces blancs qui s'y rajoutent correspondant à : CounterTypeEnum.tryGetName, CounterTypeEnum.tryGetValue, CounterTypeEnum.counterTypeDictionary.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 var CounterTypeEnum = { Generic: { value: 1, name: "generic"}, Level: { value: 2, name: "level"}, Pressure: { value: 3, name: "pressure"}, }; CounterTypeEnum.counterTypeDictionary = function () { var enumArray = []; for (var type in CounterTypeEnum) { if (CounterTypeEnum.hasOwnProperty(type) ) { enumArray.push({name : CounterTypeEnum[type].name , value : CounterTypeEnum[type].value }); } } return enumArray; } CounterTypeEnum.tryGetName = function (index) { //code... }; CounterTypeEnum.tryGetValue = function (name) { //code... }; return CounterTypeEnum;
Je cherche donc un moyen pour ne garder que le contenu de CounterTypeEnum et enlever le trygetname, trygetvalue, dictionary.
Merci pour votre aide.





Répondre avec citation



Pas de question technique par MP !
Partager