用Enum变量填充数组--javascript

时间:2014-06-27 18:53:30

标签: javascript jquery arrays enums

好的,我有一些代码从javascript中的枚举变量填充数组。然而,它看起来非常过时和笨重。

我想知道你们中的任何一个jquery / javascript专家是否有更优雅(最佳实践)的方法来实现这一功能。

CURRENT :(虽然有效,但很难看)

var myEnum = {
first: 1,
second: 2,
third: 3};

if (Object.freeze)
Object.freeze(rolesEnum);

创建数组(再次有效,但非常难看)

var aEnumArray = [
            myEnum.first,
            myEnum.second,
            myEnum.third
            ];
        var aEnums = new Array();
        $.each(aEnumArray , function (i, x) {
            aEnums .push({
                id: x,
                name: Converters.rolesToStringConverter(x)
            });
        });

   aEnums.sort(function (x, y) { return (x.name == y.name) ? 0 : (x.name > y.name ? 1 : -1); });

最后,在所有这些之后,它用于填充

comboBox.clearItems();
comboBox.addItems(aEnums);

当然,填充组合框确实需要做很多工作。

1 个答案:

答案 0 :(得分:0)

很难说你想要完成什么,但从我所知道的情况来看,我认为这可能会有所帮助。

http://jsfiddle.net/HBVJu/

var myEnum = {
  first: 1,
  second: 2,
  third: 3
};
var enumsObj = [];
for(var prop in myEnum){
    enumsObj.push({id: myEnum[prop], name: prop})
}
相关问题