我正在阅读一个帖子的正文,这是一个json文档,来自一个Angular应用程序。没有问题,如果用户没有在Angular应用程序的某些字段中输入任何数据,它会发送空值。我有一个数据类,它保存了文档的结构,在本例中是一个联系人。所以我的代码看起来像这样
var quickContact = new contacts.quickContact
quickContact.type ="contact"
quickContact.initials = req.body.initials这将为我返回一个
{ "type" : "contact", "initials" : null }为了避免任何空值字段,我使用以下代码
var quickContact = new contacts.quickContact
quickContact.type ="contact"
if (req.body.initials){
quickContact.initials = req.body.initials
}现在,我得到了所需的输出
{ "type" : "contact"}所以我的问题是,我如何将这个check if null封装到一个函数中,我可以很容易地调用这个函数,并传递字段名,以使代码更简洁,因为我有大约50个字段需要检查。
发布于 2019-02-01 09:23:17
要在req.body上的所有潜在字段中推广您的if语句,可以引入迭代。
一般的方法是遍历req.body的键/值对,并向quickContact添加非False值
for (const [key,value] of Object.entries(req.body)) {
if (req.body[key]) { // <-- only set truthy values
quickContact[key] = req.body[key];
}
}注意:上面的条件只会设置真值。如果您只想设置非null值,则必须明确:
for (const [key,value] of Object.entries(req.body)) {
if (req.body[key] !== null) { // <-- only set non-null values
quickContact[key] = req.body[key];
}
}https://stackoverflow.com/questions/54471587
复制相似问题