节点红色的 If 语句 (javascript)

If statement in Node red (javascript)

我正在尝试评估节点红色中的值:

从加入节点我得到以下信息:

所以我在函数中尝试做的是检查 1. 发送的值:

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

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

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

感谢任何提示

不确定您要检查的是什么,但可以按如下方式检查负载 属性 的值:

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是一个数组,要么是一个值。