Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当参数为空时,脚本始终返回true_Javascript - Fatal编程技术网

Javascript 当参数为空时,脚本始终返回true

Javascript 当参数为空时,脚本始终返回true,javascript,Javascript,我已经使用请求参数值编写了javascript代码 请求是: { "mbox": "abc", "mboxTrace":true, "mboxParameters": { "env":"nonprod", "pnr":"", "ATR":"", "travelDate":"", "deptTime":"", "arrivalTime":"", "fltNo":"

我已经使用请求参数值编写了javascript代码

请求是:

{
    "mbox": "abc",
    "mboxTrace":true,
    "mboxParameters": {
        "env":"nonprod",
        "pnr":"",
        "ATR":"",
        "travelDate":"",
        "deptTime":"",
        "arrivalTime":"",
        "fltNo":"",
         "SSR":"",
         "ancPurchased":"",
         "userType":"",
         "geo":"",
         "OS":"",
         "deptCity":"",
         "arrivalCity":"",
         "elig":"",
         "AirportTimezone":""
    }
}
JavaScript代码是:

if (mbox.name == 'abc')
{
    var ancillaryPurchased= "false";
    var ancArray = mbox.param('ancPurchased').split(',');
    //var count = ancArray.length;

    if(ancArray.length >= 1)
    {
        ancillaryPurchased = "true";
    } 
    else
    {
        ancillaryPurchased= "false";
    }   
    return ancillaryPurchased;
}

即使参数为空,此代码仍返回true。

空字符串将被拆分为一个包含一个空字符串的数组

var ancPurchased = '';
var ancArray = ancPurchased.split(',');
ancArray.length
>>> 1
您将希望在特殊情况下:

var ancPurchased = '';
var ancArray = (ancPurchased ? ancPurchased.split(',') : []);
ancArray.length
>>> 0

对空字符串执行拆分将返回一个包含一个元素的数组。
因此每次都返回true。

这是因为在这里拆分空字符串时,它返回一个元素的数组,即空字符串:

[""]
它的长度等于1

例如:

var-str=; var len=str.split,.length;
console.loglen@AmbikaTewari很高兴能帮助您:-