无法在 Node Red JavaScript 中获取数组的长度值

问题描述 投票:0回答:1

我想知道使用 JavaScript 在 NodeRed 中的函数中读取的数组的长度,但它不显示/返回任何值。有人可以帮我吗?

enter image description here

这是 Node-Red 中功能块内的代码

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

j = array1.length;

return j;

我没有看到

j
的任何返回值。有帮助吗?

我期望在 NodeRed 调试控制台上显示

j
的值为 50。

javascript arrays node-red
1个回答
0
投票

这是您问题的实际答案。注意下面给出的这些东西;

  1. let array1 = { payload: msg.payload }
    不是数组。它是一个对象。你不能通过
    obj.length
    找到物体的长度;而是使用
    Object.keys(array1).length

如果你想找到对象的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()
代替。

© www.soinside.com 2019 - 2024. All rights reserved.