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 Puntos2340

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

0voto

riccardo94 comentado

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

0voto

morgooth comentado

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

0voto

riccardo94 comentado

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

0voto

riccardo94 comentado

me da el mismo error aunque use una libreria externa mathJS

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

Otras Preguntas y Respuestas


...

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

Conecta