我使用节点红和我有以下传入msg.payload:通过循环数组和解析
[ "=00ECY20WA200_RECV_P1SEL", "true", "=00ECY20WA200_RECV_P2SEL", "true", "=00ECY20WA300_RECV_P2SEL", "true", "=00ECY20WA300_RECV_P1SEL", "true", "=00ECY20WA202_RECV_P1SEL", "true", "=00ECY20WA202_RECV_P2SEL", "false", "=00ECY20WA303_RECV_P2SEL", "true", "=00ECY20WA303_RECV_P1SEL", "true", "=00ECY20WA204_RECV_P1SEL", "false", "=00ECY20WA204_RECV_P2SEL", "true", "=00ECY20WA305_RECV_P2SEL", "false", "=00ECY20WA305_RECV_P1SEL", "false", "=00ECY20WA205_RECV_P1SEL", "false", "=00ECY20WA205_RECV_P2SEL", "false", "=00ECY20WA306_RECV_P1SEL", "true", "=00ECY20WA306_RECV_P2SEL", "true", "=00ECY20WA206_RECV_P1SEL", "false", "=00ECY20WA206_RECV_P2SEL", "true", "=00ECY20WA307_RECV_P1SEL", "true", "=00ECY20WA307_RECV_P2SEL", "true", "=00ECY20WA207_RECV_P1SEL", "false", "=00ECY20WA207_RECV_P2SEL", "false", "=00ECY20WA308_RECV_P1SEL", "false", "=00ECY20WA308_RECV_P2SEL", "true", "=00ECY20WA208_RECV_P1SEL", "false" ]
我试图解析所有这些都是“真”的项目,将它们连接起来在数组(recievingAlarms)中,解析的项目位于布尔运算符之前。我试图用for循环来做到这一点,我很确定我创建了一个无限循环,我不知道如何纠正它。这里是我有:
代替'1 + 2'使用'I + = 2'。将条件'msg.payload [i] === true'改为'msg.payload [i] == true',因为'“true”'是一个字符串或者与字符串“true”比较而不是布尔值true '。还有'recievingAlarms = recievingAlarms.concat(msg.payload [i-1]);' – RaR
甚至'msg.payload [i] ==='true'' –