Heim > Fragen und Antworten > Hauptteil
Ich möchte die Länge eines Arrays wissen, das in einer Funktion in NodeRed mit JavaScript gelesen wird, aber es wird kein Wert angezeigt/zurückgegeben. Kann mir jemand helfen?
Dies ist der Code innerhalb des Funktionsblocks in Node-Red
let j = 0; let array1 = { payload: msg.payload }; j = array1.length; return j;
Ich sehe keinen Rückgabewert für j
. Irgendeine Hilfe?
Ich habe erwartet, dass der Wert von j
auf der NodeRed-Debug-Konsole angezeigt wird.
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()
代替。