0
我已经在JavaScript中定义了以下枚举:如何使用枚举来定义另一个枚举?
/**
* Represents the document type.
*
* @enum
*/
var DOCUMENT_TYPE = {
TC_INVOICE: 1,
TC_CREDIT_NOTE: 2,
OFFHIRE_INVOICE: 3,
OFFHIRE_CREDIT_NOTE: 4
}
现在我想要定义另一个枚举文档类“发票”和“信用票据”。我试过这样的事情。:
/**
* 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();
}
所以,我必须检查'DOCUMENT_CLASS.INVOICE [1]'和'DOCUMENT_CLASS.INVOICE [3]'如果我想知道它是否是发票? –
'DOCUMENT_CLASS.INVOICE'是一个对象,不是一个整数;它有两个键,1和3.你不必检查两个键,你只是检查你给的值;如果存在,那就是发票。 – Barmar
谢谢,'DOCUMENT_CLASS.INVOICE [columnDataProvider]'工作,但有没有更好的解决方案,所以我可以检查'if(DOCUMENT_CLASS.INVOICE)'? –