我使用以下代码,当我结果时,它的工作正常但是如果 不是我有错误, javascript中有一种方法可以在一行代码中避免它,或者我必须将它分散为两行?如果我必须如何推荐>
if( oData[aProp[0].split('/')[0]].results.length > 0){
....
答案 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){
}