random in javascript

0

I would like to know how I do for javascript to execute the following, the program shows me what I put literal (EXAMPLE random_text2 () taking into account that the random is 2) but I want to run the random text function

<!DOCTYPE>

<html>

<head>

  <SCRIPT language=JavaScript>

function ejemplo2() {
 var aleatorio = Math.round(Math.random()*4);

 var nombre = "texto_aleatorio"+aleatorio+"()";

document.write(nombre);



function texto_aleatorio1() { 
   var textos = new Array() 
   textos[0] = "Tenemos los mejores productos del mercado, con controles de    calidad intensivos." 
   textos[1] = "Distribuimos en todo el mundo con los mejores tiempos de    entrega y fiabilidad de los envíos." 
   textos[2] = "No tenemos competidores que nos hagan sombra. Contrate con    nosotros y compuébelo. Así de fácil." 
   textos[3] = "Disponga del mejor servicio de atención al cliente y una    respuesta rápida a sus problemas." 
   textos[4] = "Los mejores servicios, productos y, como no, los menores    precios. Todo son ventajas." 

   aleat = Math.random()  * (textos.length) 
   aleat = Math.floor(aleat) 

document.write(textos[aleat]) 
}


function texto_aleatorio2(){ 
   var textos = new Array() 
   textos[0] = " mejores productos del mercado, con controles de    calidad intensivos." 
   textos[1] = " en todo el mundo con los mejores tiempos de    entrega y fiabilidad de los envíos." 
   textos[2] = " competidores que nos hagan sombra. Contrate con    nosotros y compuébelo. Así de fácil." 
   textos[3] = " del mejor servicio de atención al cliente y una    respuesta rápida a sus problemas." 
   textos[4] = " servicios, productos y, como no, los menores    precios. Todo son ventajas." 

   aleat = Math.random() * (textos.length) 
   aleat = Math.floor(aleat) 

document.write(textos[aleat]) 
}

function texto_aleatorio3(){ 
   var textos = new Array() 
   textos[0] = " mejores productos del mercado, con controles de    calidad intensivos." 
   textos[1] = " en todo el mundo con los mejores tiempos de    entrega y fiabilidad de los envíos." 
   textos[2] = " competidores que nos hagan sombra. Contrate con    nosotros y compuébelo. Así de fácil." 
   textos[3] = " del mejor servicio de atención al cliente y una    respuesta rápida a sus problemas." 
   textos[4] = " servicios, productos y, como no, los menores    precios. Todo son ventajas." 

   aleat = Math.random() * (textos.length) 
   aleat = Math.floor(aleat) 

document.write(textos[aleat]) 
}
}
        </SCRIPT>


</head>

 <body>

     <INPUT onclick=ejemplo2() type=button value="Ejemplo 2">


 </body>
</html>
    
asked by Jasbleidy Medina 13.06.2017 в 00:28
source

2 answers

0

If I have not understood you correctly, what you want is to execute one function or another based on a random number.

What you can do is create an array of functions and select the function by calculating the index randomly:

function ejemplo2() {
 var aleatorio = Math.floor(Math.random() * 2);
  
 var texto = texto_aleatorio[aleatorio](); 
 
 document.getElementById('texto').innerText = texto;
}

var texto_aleatorio = [];

texto_aleatorio[0] = function() { 
   var textos = new Array(); 
   textos[0] = "Tenemos los mejores productos del mercado, con controles de    calidad intensivos."; 

   textos[1] = "Distribuimos en todo el mundo con los mejores tiempos de    entrega y fiabilidad de los envíos."; 

   textos[2] = "No tenemos competidores que nos hagan sombra. Contrate con    nosotros y compuébelo. Así de fácil.";
 
   textos[3] = "Disponga del mejor servicio de atención al cliente y una    respuesta rápida a sus problemas."; 

   var aleat = Math.random()  * (textos.length); 
   aleat = Math.floor(aleat); 

    return textos[aleat]; 
};

texto_aleatorio[1] = function(){ 
   var textos = new Array();
   textos[0] = " mejores productos del mercado, con controles de    calidad intensivos.";
   textos[1] = " en todo el mundo con los mejores tiempos de    entrega y fiabilidad de los envíos."; 
   textos[2] = " competidores que nos hagan sombra. Contrate con    nosotros y compuébelo. Así de fácil."; 
   textos[3] = " del mejor servicio de atención al cliente y una    respuesta rápida a sus problemas."; 

   var aleat = Math.random() * (textos.length);
   aleat = Math.floor(aleat);

   return textos[aleat]; 
}

document.getElementById('prueba').addEventListener('click', ejemplo2);
<button id="prueba">Prueba</button>
<div id="texto"></div>
    
answered by 13.06.2017 / 00:40
source
0

I think this is what you want to do. I made some adjustments to the code so that even if you vary the size of the array, the random number generated will never exceed the limit.

var textos = new Array()
textos[0] = " mejores productos del mercado, con controles de    calidad intensivos.";
textos[1] = " en todo el mundo con los mejores tiempos de    entrega y fiabilidad de los envíos.";
textos[2] = " competidores que nos hagan sombra. Contrate con    nosotros y compuébelo. Así de fácil.";
textos[3] = " del mejor servicio de atención al cliente y una    respuesta rápida a sus problemas.";
textos[4] = " Megaman es xevere!";
textos[5] = " Me gusta el basquet";

function aleatorio() {
  document.getElementById("resultado").innerHTML = "";//Limpia el mensaje anterior
  nro = Math.floor(Math.random() * (textos.length - 0) + 0);//obtienes el valor aleatorio siempre acorde al tamaño de tu array
  document.getElementById("resultado").innerHTML = textos[nro];//imprime resultado


}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>

<body>
  <button onclick="aleatorio()"> ejecutar </button>
  <div id="resultado"></div>
</body>


</html>
    
answered by 13.06.2017 в 00:46