2012-08-22 35 views
6

我剛剛開始修補Google電子表格的腳本,並且遇到問題:如何在Google Spreadsheet腳本中測試範圍參數的類型?

如何測試函數參數的類型是否是單元格範圍?

我想要做這樣的事情:

if(typeof intput != "range") { 
    throw "input must be a range"; 
} 

從谷歌的例子here(頁面的中間):

if (typeof inNum != "number") { // check to make sure input is a number 
    throw "input must be a number"; // throw an exception with the error message 
} 

因此,這似乎是測試的正確方法類型的變量。但我不知道如何測試類型是否是一個單元格範圍。

如果我能指定範圍是一維還是二維,那會更好。

回答

6

一個單元格的範圍只是一個數組(多維數組) JavaScript有這樣一個問題。數組被看作是一個對象。 所以首先檢查你是否有「對象」類型,然後你可以像這樣測試。

if(typeof intput=="object"&&intput.length!=undefined) { 
    //input is a array 
}else{ 
    //Not a array 
} 

通過測試默認屬性,你可以確定肯定的是,你有一個陣列

+0

謝謝它的作品。我得到它來檢查像這樣的一維範圍:'if(input.length!= undefined && input [0] .length == undefined)'並且它似乎工作。 – Autar