节点红色中的if语句(javascript)

时间:2018-10-08 08:53:54

标签: javascript node-red

我正在尝试评估节点red中的值: enter image description here

从连接节点中我得到以下信息:

enter image description here

所以我要在函数中执行的操作是检查1.发送的值:

var payload  = msg.payload; 
if (msg.payload[0] === "0" ){
    msg.payload  =0;
} else {
    msg.payload = 1;
}

//msg.payload = payload[0];
return msg;

所以我的问题是为什么我得到if语句为假?

感谢任何提示

1 个答案:

答案 0 :(得分:3)

不确定要检查的内容,但可以按以下步骤检查有效负载属性的值:

if(typeof msg.payload === "object"){
    if(msg.payload[0].value === 0) { // Use "0" if this value is a string, but I guess not by inspecting your data.
        // Your code
    } else {
        // Other code
    }
}
else {
    // msg.payload is not an array
}

根据您的数据,您有两种情况,msg.payload是一个数组或它是一个值。