-2

我正在尝试编写一些验证js来选择最具体的值(过滤器3中的值比过滤器2更具体,等等)

以下仍然返回“null”,我不知道为什么?

var filter1 = ["ELEC"];
var filter2 = new Array();
var filter3 = new Array();

function getParentCode(filter1, filter2, filter3)
{
    if (filter1 === null && filter2 === null && filter3 === null)
    {
        return null;
    }
    else if (filter1 !== null && filter2 === null && filter3 === null)
    {
        return filter1;
    }
    else if (filter1 !== null && filter2 !== null && filter3 === null)
    {
        return filter2;
    }
    else if (filter1 !== null && filter2 !== null && filter3 !== null)
    {
        return filter3;
    }
    else
    {
        return "Error";
    }
}
4

2 回答 2

1

从我可以收集到的你发送给函数的参数中,正确的代码可能是这样的:

function getParentCode(filter1, filter2, filter3){
  if(filter3.length>0) return filter3;
  if(filter2.length>0) return filter2;
  if(filter1.length>0) return filter1;
  return null;
}

如果您确实是指 null,那么请遵循 Software Monkey 的建议。

于 2013-04-24T23:05:11.543 回答
0

为什么不简单:

function getParentCode(filter1, filter2, filter3) {
    if      (filter3!==null) { return filter3; }
    else if (filter2!==null) { return filter2; }
    else if (filter1!==null) { return filter1; }
    else                     { return null;    }
    }
于 2013-04-24T22:59:16.247 回答