如何使用枚举定义另一个枚举
How to use an enum to define another enum?
我在JavaScript中定义了以下枚举
/**
* Represents the document type.
*
* @enum
*/
var DOCUMENT_TYPE = {
TC_INVOICE: 1,
TC_CREDIT_NOTE: 2,
OFFHIRE_INVOICE: 3,
OFFHIRE_CREDIT_NOTE: 4
}
现在我想为文档类"invoice"answers"credit note"定义另一个枚举。我试过这样的东西
/**
* Represents the document class ("invoice" or "credit note").
*
* @enum
*/
var DOCUMENT_CLASS = {
INVOICE: {
1: DOCUMENT_TYPE.TC_INVOICE,
3: DOCUMENT_TYPE.OFFHIRE_INVOICE
},
CREDIT_NOTE: {
2: DOCUMENT_TYPE.TC_CREDIT_NOTE,
4: DOCUMENT_TYPE.OFFHIRE_CREDIT_NOTE
}
}
数据库列包含文档类型的值(可能的整数值:1,2,3,4)。现在我想检查一下是发票还是信用票据,比如:
if ( DOCUMENT_CLASS.INVOICE ) {
doSomething();
} else if ( DOCUMENT_CLASS.CREDIT_NOTE ) {
doSomeOtherThing();
}
这应该做到:
if (DOCUMENT_CLASS.INVOICE[column]) {
doSometjing();
} else if (DOCUMENT_CLASS.CREDIT_NOTE[column]) {
doSomeOtherThing();
}
column
是一个变量,包含要检查的数据库列中的值。
另一种方法是制作文档类数组:
var DOCUMENT_CLASS = {
INVOICE: [ DOCUMENT_TYPE.TC_INVOICE, DOCUMENT_TYPE.OFFHIRE_INVOICE ],
CREDIT_NOTE: [ DOCUMENT_TYPE.TC_CREDIT_NOTE, DOCUMENT_TYPE.OFFHIRE_CREDIT_NOTE ]
};
然后你会写:
if (DOCUMENT_TYPE.INVOICE.indexOf(column) != -1) {
doSomething();
} else if (DOCUMENT_TYPE.CREDIT_NOTE.indexOf(column) != -1) {
doSomeOtherThing();
}
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 使用clickToggle并在单击另一个元素时关闭元素
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 无法从jquery Mobile导航栏重定向到另一个页面
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 导航到特定事件的另一个变量页面
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 如何在另一个对象中枚举一个对象
- 如何使用枚举定义另一个枚举
- 为什么这个属性在一个实例中打印,而不是在类似的实例中打印,即使它在两个实例中都是可枚举的
- 如何在不使用Object.defineProperty的情况下定义一个非枚举方法
- 灰烬排序一个可枚举数组或添加一个新对象到一个常规数组
- 我如何枚举一个javascript对象的属性使用数据绑定Knockout.js