gpt4 book ai didi

javascript - NodeRed,无法访问嵌套 for 循环中的变量

转载 作者:太空宇宙 更新时间:2023-11-04 02:03:53 26 4
gpt4 key购买 nike

我对 Nodejs 比较陌生,我在函数 Node 内的代码如下所示,

var temper=parseInt(msg.payload.temperature);
temp=temper;
var seconDigit=temp%10;
temp=parseInt(temp/10);
var first=temp%10;
temp=temp/10;
var count;

//msg={"payload":{"one":first,"two":seconDigit}};
//return msg;
if(msg.payload.screen=="on"){


var firstCol="*,*,#800000";
count=0;

for(var i=1;i<=2;i++){

for(var j=1;j<=6;j++){

if(count<first){

firstCol=firstCol+","+i.toString()+","+j.toString()+",#C0C0C0";
count++;
}

}
}

count=0;
for(var i=5;i<=6;i++){
for(var j=1;j<=6;j++){
if(count<seconDigit){
firstCol+=","+i.toString()+","+j.toString()+",#C0C0C0";
count++;
}

}
}
//msg={"payload":first};
//return msg;
msg={"payload":firstCol};
return msg;
}
else if(msg.payload.screen=="off"){

var firstCol="*,*,#008000";
count=0;
for(var i=1;i<=2;i++){
for(var j=1;j<=6;j++){
if(count<firstDigit){
firstCol+=","+i.toString()+","+j.toString()+",#C0C0C0";
count++;
}

}
}
count=0;
for(var i=5;i<=6;i++){
for(var j=1;j<=6;j++){
if(count<seconDigit){
firstCol=firstCol+","+i.toString()+","+j.toString()+",#C0C0C0";
count++;
}

}
}
msg={"payload":firstCol};
return msg;
}
else{
msg={"payload":"*,*,#000000"};
return msg;
}

我无法访问嵌套 for 循环内的 firstseconDigit 变量,这部分代码没有被执行。我的预期结果应该是一两个字符串。一个是 *,*,#000000,另一个基于 temp 值的长字符串看起来像 *,*,.....。但是当我取消上面几行的注释时,它们似乎工作得很好。我做错了什么以及应该更改什么才能访问 for 循环内的值?

最佳答案

几天前我也遇到了同样的问题。而不是连接您从中获​​取 msg.payload.Temperature 的 Node 。只需使用 global.set("first",msg.payload.Temperature);
在该 Node 中并使用
访问它temp=global.get(“第一个”);

所以代码的顶部将是

temp=global.get("first");
var first=parseInt(temp/10);
var seconDigit=parseInt(temp%10);

关于javascript - NodeRed,无法访问嵌套 for 循环中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45002263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com