0
好吧,我有一些代碼從JavaScript中的枚舉變量填充數組。但是,它看起來非常過時和笨重。使用枚舉變量填充數組 - 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);
當然,爲了填充組合框還有很多工作要做。
這是* *很多工作來填充組合框。首先,爲了排序,您可以使用'x.name.localeCompare(y.name)'並跳過冗餘三元組。其次,我不確定從枚舉中創建多個數組的意義。第三,如果所有這些東西都隱藏在模塊的功能中,它真的*重要嗎? –
LOL ...你說得對,它真的很重要嗎?但是 - 我只是想要最佳實踐。感謝您的排序提示。 –