我正在尝试从前端通过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
}
但这似乎不起作用。有没有其他方法可以解决这个问题
答案 0 :(得分:1)
您的方法的基本问题是不考虑使数组具有空字符串。当您使用if(applicant){//do something}
进行检查时,您不认为该数组可能有一个空字符串,但是仍然是字符串。
这就是为什么您实际上需要检查数组长度以确定它是否为空,然后检查第一个元素是否为空字符串的原因。
所以我们的代码看起来像这样:
if (applicant && applicant.length && applicant[0]!== ''){
//do something
}