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)'? –