我想知道使用 JavaScript 在 NodeRed 中的函数中读取的数组的长度,但它不显示/返回任何值。有人可以帮我吗?
这是 Node-Red 中功能块内的代码
let j = 0;
let array1 = { payload: msg.payload };
j = array1.length;
return j;
我没有看到
j
的任何返回值。有帮助吗?
我期望在 NodeRed 调试控制台上显示
j
的值为 50。
这是您问题的实际答案。注意下面给出的这些东西;
let array1 = { payload: msg.payload }
不是数组。它是一个对象。你不能通过obj.length
找到物体的长度;而是使用Object.keys(array1).length
如果你想找到对象的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()
代替。