我想知道使用 JavaScript 在 NodeRed 中的函数内读取的数组的长度,但它不显示/返回任何值。有人可以帮我吗?
这是 Node-Red 中功能块内的代码
let j = 0; let array1 = { payload: msg.payload }; j = array1.length; return j;
我没有看到 j
的任何返回值。有什么帮助吗?
我预计 j
的值会显示在 NodeRed 调试控制台上。
P粉6378669312024-01-29 13:41:22
这是您问题的实际答案。请注意下面给出的这些事项;
let array1 = { payload: msg.payload }
不是数组。它是一个物体。通过obj.length
无法找到对象的长度;而是使用 Object.keys(array1).length
如果您想查找对象的长度(属性数量),请使用以下代码片段。
let array1 = { payload: msg.payload }; let length = Object.keys(array1).length; console.log(length); // Example let person = {name: "Mehdi", city: "Jamshoro", country: "PK"} let length = Object.keys(person).length; console.log(length); // Output: 3
数组的长度可以通过以下方式找到:
let arr = [1,2,3,4,5,6] console.log(arr.length) // Output: 6
您似乎在函数外部使用 return
语句。 return
在函数之外不起作用。使用 console.log()
代替。