2016-03-20 6 views
2

ich den folgenden Code verwenden, wenn ich habe Ergebnisse Seine Arbeit in Ordnung, aber wenn ist nicht ich eine Fehlermeldung anzeigt, Es gibt einen Weg in JavaScript Code in eine Zeile zu vermeiden oder muss ich es für zwei Zeilen verbreiten? wenn ich muss, wie seine recomended>Kann nicht Eigentum Länge von undfined Fehler finden

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

    .... 

Antwort

4

gut Sie es in einer Zeile mit tun können:

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

aber dies ist ineffizient, weil Sie den Split zweimal tun, und sieht ein bisschen chaotisch.

Es ist besser und einfacher zu lesen, eine Variable erstellen zuerst:

var oDataEntry = oData[aProp[0].split('/')[0]]; 
if(oDataEntry.results && oDataEntry.results.length > 0){ 
} 
1
var tempArr = null; 
var tempAProp = null; 
var tempLength = (tempAProp = aProp[0]) && (tempArr= oData[tempAProp.split('/')[0]]) ? tempArr.length:0; 

if(tempLength > 0){ 
} 
Verwandte Themen