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.
Partager