处理UI请求中的空数组参数

时间:2018-05-11 06:36:26

标签: node.js api

我正在尝试从前端通过swagger接受数组参数并执行某些功能,如图所示,我已经发送了一个成分值而没有申请人的价值

let applicant = req.swagger.params.applicant.value;
console.log(applicant);
console.log(typeof applicant);

let ingredient = req.swagger.params.ingredient.value;
console.log(ingredient);
console.log(typeof ingredient);

以下内容被记录

[ '' ]
object
['somevalue']
object

我想创建一个这样的函数

if (applicant && applicant !== ['']){
//do something
}
if (ingredient  && ingredient !== ['']){
// do something
}

但这似乎不起作用。有没有其他方法可以解决这个问题

1 个答案:

答案 0 :(得分:1)

您的方法的基本问题是不考虑使数组具有空字符串。当您使用if(applicant){//do something}进行检查时,您不认为该数组可能有一个空字符串,但是仍然是字符串。 这就是为什么您实际上需要检查数组长度以确定它是否为空,然后检查第一个元素是否为空字符串的原因。

所以我们的代码看起来像这样:

if (applicant && applicant.length && applicant[0]!== ''){
//do something
}