改善条件代码

时间:2016-03-30 07:22:12

标签: javascript jquery if-statement

我有以下代码

var oDataEn = aData[0][aProperties[0].split('/')[0]];
if (!(oDataEn != null && oDataEn.results && oDataEn.results.length > 0)) {
    ...
    else

...

这是确定,除非

aData[0] = 'undefined'

我的问题是,是否有更好的方式来编写它而不是仅仅添加

 if(aData[0] != null)
  {
    var oDataEn = aData[0][aProperties[0].split('/')[0]];
  }

如果可能,我不想要两个if ...

3 个答案:

答案 0 :(得分:7)

从三元开始 - 我假设aData [0]可能是假的(null,undefined,0或“”):

var oDataEn = aData[0]?aData[0][aProperties[0].split('/')[0]]:null;
if (oDataEn && oDataEn.results && oDataEn.results.length > 0) {

答案 1 :(得分:0)

      if(aData[0] === undefined){}
到目前为止,

是最好的方式。

根据你的评论

     if(typeof aData[0] != 'undefined' /*&& other if statements*/){}

因此如果未定义则不会处理。

答案 2 :(得分:0)

通过使用三元运算符,你可以做到这一点。三元运算符只会减少代码行。

    var oDataEn = aData[0] === undefined ? '' : aData[0][aProperties[0].split('/')[0]];