我想知道使用 JavaScript 在 NodeRed 中的函數內讀取的陣列的長度,但它不顯示/傳回任何值。有人可以幫我嗎?
這是 Node-Red 中功能塊內的程式碼
let j = 0; let array1 = { payload: msg.payload }; j = array1.length; return j;
我沒有看到 j 的任何回傳值。有什麼幫助嗎?
j
我預期 j 的值會顯示在 NodeRed 偵錯控制台上。
這是您問題的實際答案。請注意下面給出的這些事項;
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() 取代。
return
console.log()
這是您問題的實際答案。請注意下面給出的這些事項;
let array1 = { payload: msg.payload }
不是陣列。它是一個物體。透過obj.length
無法找到物件的長度;而是使用Object.keys(array1).length
如果您想尋找物件的長度(屬性數量),請使用下列程式碼片段。
陣列的長度可以透過以下方式找到:
您似乎在函數外部使用
return
語句。return
在函數之外不起作用。使用console.log()
取代。