作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想定义一个具有连续整数值的常量列表,例如:
var config.type = {"RED": 0, "BLUE" : 1, "YELLO" : 2};
但是每次需要在里面加一个新元素的时候加一个"XX": y
就很无聊了。
所以我想知道 C 中是否有类似 enumerator
的东西,所以我可以写:var config.type = {"RED", "BLUE", "YELLO"}
并且它们被自动赋予唯一的整数值。
最佳答案
你也可以尝试做这样的事情:
function Enum(values){
for( var i = 0; i < values.length; ++i ){
this[values[i]] = i;
}
return this;
}
var config = {};
config.type = new Enum(["RED","GREEN","BLUE"]);
// check it: alert( config.type.RED );
甚至使用 arguments 参数,您可以完全取消数组:
function Enum(){
for( var i = 0; i < arguments.length; ++i ){
this[arguments[i]] = i;
}
return this;
}
var config = {};
config.type = new Enum("RED","GREEN","BLUE");
// check it: alert( config.type.RED );
关于JavaScript 枚举器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6346766/
我是一名优秀的程序员,十分优秀!