無法在 Node Red JavaScript 中取得數組的長度值
P粉216807924
P粉216807924 2024-01-28 22:21:45
0
1
456

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

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

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

j = array1.length;

return j;

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

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

P粉216807924
P粉216807924

全部回覆(1)
P粉637866931

這是您問題的實際答案。請注意下面給出的這些事項;

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板