首页 > 解决方案 > 处理来自 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
}

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

标签: node.jsapi

解决方案


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

所以你的代码看起来像:

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

推荐阅读