random - JavaScript (google script) function sometimes works, sometimes not : what's wrong? -


i have array containing values (values google sheet), , 2 functions generate random values pick values array :

the random function #1 :

function hasardsingplur(){   var values = [0,1];   return (values[math.floor(math.random()*2)]); } 

random generator function #2 :

function hasardnombremax(){    return (math.floor((math.random() * nombremax) + 1)) } 

the function random elements :

function generate() {   var nom = noms[hasardnombremax(nombremax)][hasardsingplur()];   logger.log(nom); } 

if test generate() function hundred times, goes end , outputs 100 values, stops after random number of values...

function test(){   for(var = 0 ; < 100 ; i++){     logger.log(generate());       } } 

i error

typeerror: impossible read property "1.0" undefined.  

strange behavior, , don't understand why.

edit : here entire code :

var ss = spreadsheetapp.getactive(); var reservoir = ss.getsheetbyname("réservoir"); var generateur = ss.getsheetbyname("générateur"); var nombremax = reservoir.getlastrow()-1;  // 0 noms au singulier, 1 noms au pluriel, 2 genre  // 3 adjectifs (masc. sing.), 4 adjectifs(masc. pluriel), 5 adjectifs (fém. sing), 6 adjectifs (fém. plur.),  // 7 phrases subordonnées sujet singulier 8 phrases subordonnées sujet au pluriel,  // 9 groupes prépositionnels,  // 10 verbes principaux (3e pers. sing), 11 verbes principaux (3e pers. pluriel) var noms = reservoir.getrange(2, 1, nombremax, 3).getvalues(); var ajectifs = reservoir.getrange(2, 4, nombremax, 4).getvalues(); var psubs = reservoir.getrange(2, 8, nombremax, 2); var grpreps = reservoir.getrange(2, 10, nombremax, 1).getvalues();  function generate() {   var nom = noms[hasardnombremax(nombremax)][hasardsingplur()];   logger.log(nom); }   // renvoie 1 ou 2 pour choisir si singulier ou pluriel, masculin ou féminin function hasardsingplur(){   var values = [0,1];   return (values[math.floor(math.random()*2)]); }  // renvoie un nombre au hasard pour choisir un élément au hasard dans le tableau function hasardnombremax(){    return (math.floor((math.random() * nombremax) + 1)) }  function test(){   for(var = 0 ; < 100 ; i++){     logger.log(generate());       } } 


Comments

Popular posts from this blog

c# - Update a combobox from a presenter (MVP) -

How to understand 2 main() functions after using uftrace to profile the C++ program? -

How to put a lock and transaction on table using spring 4 or above using jdbcTemplate and annotations like @Transactional? -