找不到属性长度的未定义错误

时间:2016-03-20 09:29:20

标签: javascript jquery

我使用以下代码,当我结果时,它的工作正常但是如果 不是我有错误, javascript中有一种方法可以在一行代码中避免它,或者我必须将它分散为两行?如果我必须如何推荐>

   if( oData[aProp[0].split('/')[0]].results.length > 0){

     ....

2 个答案:

答案 0 :(得分:4)

你可以用:

在一行中完成
if( oData[aProp[0].split('/')[0]].results
    && oData[aProp[0].split('/')[0]].results.length > 0){
}

但是效率很低,因为你正在进行两次拆分,看起来有点乱。

首先创建变量更好更容易阅读:

var oDataEntry = oData[aProp[0].split('/')[0]];
if( oDataEntry.results && oDataEntry.results.length > 0){
}

答案 1 :(得分:1)

var tempArr = null;
var tempAProp = null;
var tempLength = (tempAProp = aProp[0]) && ( tempArr= oData[tempAProp.split('/')[0]]) ?  tempArr.length:0;

if( tempLength > 0){
}