2012-08-22 10 views
6

Estoy empezando a modificar las secuencias de comandos de la hoja de cálculo de Google y tengo un problema:¿Cómo probar el tipo de parámetro de rango en la secuencia de comandos de hoja de cálculo de Google?

¿Cómo probar si el tipo del parámetro de una función es un rango de celdas?

me gustaría hacer algo como esto:

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

De ejemplos de Google here (centro de la página):

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 
} 

Así que este parece ser el camino correcto para probar la tipo de una variable. Pero no sé cómo probar si el tipo es un rango de celdas.

Sería aún mejor si pudiera especificar si el rango es de una o dos dimensiones.

Respuesta

6

Un rango de celdas es solo una matriz (matriz multidimensional) Javascript tiene un problema de esa manera. Array se ven como un objeto. Así que primero compruebe si tiene el tipo "objeto" y luego podría probar así.

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

Al probar una propiedad predeterminada se puede determinar con certeza que tiene una matriz

+0

Gracias funciona. Lo compruebo para un rango unidimensional como este: 'if (input.length! = Undefined && input [0] .length == undefined)' y parece funcionar. – Autar

Cuestiones relacionadas