简体   繁体   English

处理数组中的空项 JavaScript

[英]Dealing with a empty item in an array JavaScript

Im using node red to put something together simply, I'm not really a js person so I'm struggling a bit.我使用 node red 将一些东西简单地放在一起,我不是一个真正的 js 人,所以我有点挣扎。

I have to create this json payload.我必须创建这个 json 负载。 If for example VpidA : msg.payload.ChanStat.VpidA[0] is empty or undefined, is there a way i can put a default value in?例如,如果 VpidA : msg.payload.C​​hanStat.VpidA[0] 为空或未定义,有没有办法可以输入默认值? I need to do this for potentially many more items and I think catch statement might be required?我需要为可能更多的项目执行此操作,并且我认为可能需要 catch 语句? Although seems like it might get messy...thoughts?虽然看起来它可能会变得凌乱......想法?

 msg.payload = [{ measurement: "a box", fields: { Sync: parseInt(syncStatus), cCRC: parseInt(msg.payload.ChanStat.cCRC[0]), yCRC: parseInt(msg.payload.ChanStat.yCRC[0]), lineRate: msg.payload.ChanStat.LineRate[0], VpidA : msg.payload.ChanStat.VpidA[0] }, tags:{ host:"a box", input: msg.payload.ChanStat.ChanNum[0], type: "sdi" }, timestamp: new Date() }]; return msg;

i一世

You can test for the presence of variable with a simple if statement (assuming you are in a Function Node)您可以使用简单的 if 语句测试变量是否存在(假设您在函数节点中)

if (msg.payload.ChanStat.VpidA[0] == undefined){
   //do what ever needs doing if the property doesn't exist
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM