Heim  >  Fragen und Antworten  >  Hauptteil

Der Längenwert des Arrays kann in Node Red JavaScript nicht abgerufen werden

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粉216807924P粉216807924264 Tage vor433

Antworte allen(1)Ich werde antworten

  • P粉637866931

    P粉6378669312024-01-29 13:41:22

    这是您问题的实际答案。请注意下面给出的这些事项;

    1. 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() 代替。

    Antwort
    0
  • StornierenAntwort