首頁  >  問答  >  主體

無法在 Node Red JavaScript 中取得數組的長度值

我想知道使用 JavaScript 在 NodeRed 中的函數內讀取的陣列的長度,但它不顯示/傳回任何值。有人可以幫我嗎?

這是 Node-Red 中功能塊內的程式碼

let j = 0;
let array1 = { payload: msg.payload };

j = array1.length;

return j;

我沒有看到 j 的任何回傳值。有什麼幫助嗎?

我預期 j 的值會顯示在 NodeRed 偵錯控制台上。

P粉216807924P粉216807924264 天前432

全部回覆(1)我來回復

  • 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() 取代。

    回覆
    0
  • 取消回覆