前导小数点可能与点混淆
A leading decimal point can be confused with a dot
我尝试通过节点红色获取一些地下天气信息。我已发出 HTTP 请求以获取十天每小时的天气。
我需要提取一个温度。
我用这个:
var newMsg = { payload: msg.payload.hourly_forecast.0.temp.metric };
return newMsg;
如果我将它放入调试控制台,msg.payload.hourly_forecast.0.temp.metric
可以工作,但在我的函数中,我有这个错误:
A leading decimal point can be confused with a dot: '.0'
所以我尝试了这个:
var toto = 0;
var newMsg = { payload: msg.payload.hourly_forecast + '.' + toto + '.' + temp.metric };
return newMsg;
但不工作,错误是
ReferenceError: temp is not defined (line 2, col 74)
msg.payload.hourly_forecast
是您在此处显示的数组 https://ibb.co/ejaxge
请使用msg.payload.hourly_forecast[0].temp.metric
.
在此处阅读有关数组的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
要在 JavaScript 中寻址数组元素,您可以使用方括号表示法:
var newMsg = { payload: msg.payload.hourly_forecast[0].temp.metric };
return newMsg;
Node-RED 中的调试侧边栏也可用于标识任何消息元素的路径。这在此处的文档中进行了描述:https://nodered.org/docs/user-guide/messages#understanding-the-structure-of-a-message
我尝试通过节点红色获取一些地下天气信息。我已发出 HTTP 请求以获取十天每小时的天气。
我需要提取一个温度。 我用这个:
var newMsg = { payload: msg.payload.hourly_forecast.0.temp.metric };
return newMsg;
如果我将它放入调试控制台,msg.payload.hourly_forecast.0.temp.metric
可以工作,但在我的函数中,我有这个错误:
A leading decimal point can be confused with a dot: '.0'
所以我尝试了这个:
var toto = 0;
var newMsg = { payload: msg.payload.hourly_forecast + '.' + toto + '.' + temp.metric };
return newMsg;
但不工作,错误是
ReferenceError: temp is not defined (line 2, col 74)
msg.payload.hourly_forecast
是您在此处显示的数组 https://ibb.co/ejaxge
请使用msg.payload.hourly_forecast[0].temp.metric
.
在此处阅读有关数组的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
要在 JavaScript 中寻址数组元素,您可以使用方括号表示法:
var newMsg = { payload: msg.payload.hourly_forecast[0].temp.metric };
return newMsg;
Node-RED 中的调试侧边栏也可用于标识任何消息元素的路径。这在此处的文档中进行了描述:https://nodered.org/docs/user-guide/messages#understanding-the-structure-of-a-message