好的,我有一些代码从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);
当然,填充组合框确实需要做很多工作。
答案 0 :(得分:0)
很难说你想要完成什么,但从我所知道的情况来看,我认为这可能会有所帮助。
var myEnum = {
first: 1,
second: 2,
third: 3
};
var enumsObj = [];
for(var prop in myEnum){
enumsObj.push({id: myEnum[prop], name: prop})
}