entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

problema con la sentencia condicional

si corro mi ciclo sin la condicional me genera numeros aleatorios de 4 hasta 6 digitos y lo mete en un array, pero si le digo que solo le meta numeros de 6 digitos no me genera ningun numero, el resultado se puede visualizar en la pagina

    function combinar(){

        codigos = [];

            for(var x=0; x<100; x++){

                combo =  Math.floor((Math.random() * 1000000) + 1);

            if(combo.length == 6) {

                codigos.push(combo);

                document.getElementById('codigod').innerHTML += codigos[x]+"<br>"  }

}

si quito la condicional me genera los codigos y me lo imprime en la pagina sin ningun problema

mi intencion es que genere solo numeros aletorios de 6 digitos

1 Respuesta

1voto

morgooth Puntos1830

Estimado,

El problema es que la función length te devuelve el largo de una cadena de caracteres, al ser numérica tu variable combo no te va a funcionar.

Para solucionar esto intenta con :

 if(combo.toString().length == 6) {

Saludos

riccardo94 comentado Sep 4

muchas gracias, no me habia dado cuenta, ahora sin embargo me genera muchos undefined, si tienes algun truco pa evitar eso me ahorras un buen rato

morgooth comentado Sep 4

Revisa la función Math.floor

En tu código estas diciendo que parta en 1.

https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Math/random

Saludos

riccardo94 comentado Sep 4

en que momento le digo que parta en 1, no entiendo

riccardo94 comentado Sep 4

me da el mismo error aunque use una libreria externa mathJS

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta