2014-09-03 28 views
0

我有這個fn()。獲取Google應用程序腳本中if()語句過濾的總行數

是否有任何簡單的方法可以通過Google應用程序腳本中的此條件語句返回已過濾的行數?

function getGlobers(globers, project){ 

    var body = ""; 

    var data = globers.getValues(); 

    for(i = 0; i < data.length; i++){ 

    if(data[i][2] == project){ 

     body += "<tr><td style=" + STYLE.TD + ">" + data[i].join("</td><td style=" + STYLE.TD + ">") + "</td></tr>"; 

    } 

    } 

    return body; 

} 

謝謝。

回答

0

例如(參見代碼中的註釋)

function getGlobers(globers, project){ 
    var body = ""; 
    var n = 0; // use a variable to count 
    var data = globers.getValues(); 
    for(i = 0; i < data.length; i++){ 
    if(data[i][2] == project){ 
     n++;// increment each time condition is true 
     body += "<tr><td style=" + STYLE.TD + ">" + data[i].join("</td><td style=" + STYLE.TD + ">") + "</td></tr>"; 
    } 
    } 
    return [body,n];// return an array of 2 values 
} 

用法:

var result = getGlobers(range,project); 
    Logger.log('array result = '+result); 
    Logger.log('body (string) = '+result[0]); 
    Logger.log('length (integer) = '+result[1]); 

注:不是數組,你也可以用2個屬性...選擇的問題,返回一個對象。

編輯:使用對象屬性一個例子:

function getGlobers(globers, project){ 
    var body = ""; 
    var n = 0; 
    var result = {}; 
    var data = globers.getValues(); 
    for(i = 0; i < data.length; i++){ 
    if(data[i][2] == project){ 
     n++; 
     body += "<tr><td style=" + STYLE.TD + ">" + data[i].join("</td><td style=" + STYLE.TD + ">") + "</td></tr>"; 
    } 
    } 
    result['body'] = body; 
    result['length'] = n; 
    return result; 
} 

用法:

var result = getGlobers(range,project); 
    Logger.log('body = '+result.body); 
    Logger.log('length = '+result.length); 
+0

再次感謝塞爾。 – user3911545 2014-09-03 15:56:56