node.js - 处理来自 UI 请求的空数组参数
问题描述
我正在尝试通过大摇大摆从前端接受数组参数并执行一些功能,如图所示我在成分中发送了一个值而在申请人中没有值
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
}
但这似乎不起作用。有没有其他方法可以解决这个问题
解决方案
您的方法的基本问题是不考虑数组有一个空字符串。当您与您核对时,if(applicant){//do something}
不要考虑该数组可能有一个空字符串,但仍然是字符串。这就是为什么您实际上需要检查数组长度以确定它是否为空,然后检查第一个元素是否为空字符串。
所以你的代码看起来像:
if (applicant && applicant.length && applicant[0]!== ''){
//do something
}
推荐阅读
- r - 更改 plotly-R 中的图例
- python - “属性错误:列表对象没有较低的属性”是什么意思?Sklearn 工具包(Countvectorizer)
- javascript - Array.forEach 函数覆盖 itsel
- java - 按钮单击时的 Android Studio 推送通知
- assembly - 如何在 GPR 的特定位中设置进位标志而不进行移位/旋转?
- python - 如何将较大文件中的多个 csv 文件打开为代码?
- python - fizzBuzz 数字 1 到 100:(x3)Fizz、(x5)Buzz、(x3 & x5)FizzBuzz 以及 python 中的素数
- python - ModuleNotFoundError:尽管安装了模块,但没有名为“tf_slim”的模块
- c# - ASP.NET Core:使用自定义标识选项不起作用
- c++ - 我如何在其中应用 C++ 数组?