Javascript 如何使对象键依赖于同一对象中的另一个键?
我有一个非常简单的函数,它构建一个对象并记录它 对象中的一个关键点应依赖于另一个关键点 我想当我添加代码时会更清楚Javascript 如何使对象键依赖于同一对象中的另一个键?,javascript,enumerate,Javascript,Enumerate,我有一个非常简单的函数,它构建一个对象并记录它 对象中的一个关键点应依赖于另一个关键点 我想当我添加代码时会更清楚 module.exports = function (information) { var numObj = { [-1]: "accepted", [0]: "fail", [1]: "success" } console.log(numObj) var ip = require('ip');
module.exports = function (information) {
var numObj = {
[-1]: "accepted",
[0]: "fail",
[1]: "success"
}
console.log(numObj)
var ip = require('ip');
var logObj = {
UUID: information.UUID, // get from outside
FN_TIME_STAMP: information.FN_TIME_STAMP, // not sure if necessary
FN_CORRELATION_ID: information.FN_CORRELATION_ID,// get from outside
FN_REF_ID: information.FN_REF_ID, //get from outside
FN_METHOD_NAME: "docToMail", // constant
FN_STATUS_CODE: information.FN_STATUS_CODE, //get from outside
FN_STATUS_DESC: numObj[this.FN_STATUS_CODE], // depends on FN_STATUS_CODE
FN_DOC_ID: information.FN_DOC_ID, //get from outside
FN_USER_NAME: "", // empty for now, probably un-necessary
FN_APP_ID: information.FN_APP_ID, //get from outside
FN_RMT_ADDRS: ip.address(),//ip address of local machine
FN_NUM_OF_RETRIES: information.FN_NUM_OF_RETRIES, // get from outside
FN_FILETYPE: information.FN_FILETYPE, // get from outside
FN_REC_STATE: numObj[this.FN_STATUS_CODE] //depends on FN_STATUS_CODE
}
console.log(logObj)
}
我只希望FN_REC_STATE和FN_STATUS_DESC是一个字符串,具体取决于FN_状态代码。
如果是-1,我希望字符串被“接受”
如果为0,我希望字符串为“fail”
如果是1,我希望字符串为“success”
因为现在我还没有定义,请帮忙
谢谢假设
信息.FN\u STATUS\u code
为-1
、0
或1
,以下解决方案应该有效
如果你改变
FN_REC_STATE: numObj[this.FN_STATUS_CODE]
到
然后它应该将正确的值放入FN\u REC\u状态
这是因为在评估故障线路时,This.FN\u STATUS\u code
尚未定义
您还应该为FN\u STATUS\u DESC
的定义更改此选项
此外,您可能误解了该函数上下文中的
所指内容。它实际上是指全局对象,而不是logObj
对象。假设信息。FN\u STATUS\u code
是-1
、0
或1
,以下解决方案应该可以工作
如果你改变
FN_REC_STATE: numObj[this.FN_STATUS_CODE]
到
然后它应该将正确的值放入FN\u REC\u状态
这是因为在评估故障线路时,This.FN\u STATUS\u code
尚未定义
您还应该为FN\u STATUS\u DESC
的定义更改此选项
此外,您可能误解了该函数上下文中的所指内容。它实际上指的是全局对象,而不是logObj
对象。谢谢!工作完美。感觉好像我在这里放了个脑屁。再次感谢,我会尽快标记答案!没问题!很高兴我能帮忙。很抱歉,我的回答很直截了当,我通常喜欢笑脸之类的东西,但这通常不适合StackOverflow,我会被训斥哈哈。祝你好运,你的代码!非常感谢。工作完美。感觉好像我在这里放了个脑屁。再次感谢,我会尽快标记答案!没问题!很高兴我能帮忙。很抱歉,我的回答很直截了当,我通常喜欢笑脸之类的东西,但这通常不适合StackOverflow,我会被训斥哈哈。祝你好运,你的代码!