Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

166
Vistas
¿Dónde agrego un segmento a la cadena final de javascript?
<body> <div id="dice0" class="dice">0</div> <div id="dice1" class="dice">0</div> <button onclick ="rollDice()">Roll a Pair of Dice</button> <br> <button onclick ="rollDice1000()"> Roll 1000 Times</button> <br> <div id="result"class="current"></div> <div id="list" class="list"></div> <script src="code.js"></script> </body> </html>
 let results = [null, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; function rollDice(){ let dice0 = document.getElementById("dice0"); let dice1 = document.getElementById("dice1"); let result = document.getElementById("result"); let list = document.getElementById("list"); let d0= Math.floor(Math.random()*6)+1; let d1= Math.floor(Math.random()*6)+1; let total = d0+d1; dice0.innerHTML = d0; dice1.innerHTML = d1; result.innerHTML = "You rolled "+total+"." results[total]+=1; list.innerHTML = results.map((val, index)=> `You have rolled ${index}: ${val} times`).join('<br/>'); }

El código anterior es un simple juego de dados de javascript que rastrea la cantidad de veces que se da un resultado.
los resultados deben estar entre 2 y 12
Lo que verás es:

Has sacado 0: nulo veces
Has sacado 1: nula veces

La cadena final escupe 2 variables nulas que no deben enumerarse; porque no se pueden rodar (0 y 1) no quiero cambiar la matriz . ¿Dónde y cómo puedo agregar un ".slice ()" para eliminarlos de la salida? o hay una mejor manera de hacerlo con javascript?

Posteriormente, ¿hay alguna manera de dividir la lista? ¿Que puedo organizar la salida con CSS?
por ejemplo;

[Has tirado 2: 7 veces.] [Has tirado 3: 2 veces.] [Has tirado 4: 5 veces.] [y así sucesivamente]
suponga que los corchetes son elementos con estilo

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede usar un operador ternario para agregar solo ${val} times a la salida si val no es null :

 let results = [null, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; function rollDice() { let dice0 = document.getElementById("dice0"); let dice1 = document.getElementById("dice1"); let result = document.getElementById("result"); let list = document.getElementById("list"); let d0 = Math.floor(Math.random() * 6) + 1; let d1 = Math.floor(Math.random() * 6) + 1; let total = d0 + d1; dice0.innerHTML = d0; dice1.innerHTML = d1; result.innerHTML = "You rolled " + total + "." results[total] += 1; list.innerHTML = results.map((val, index) => val != null ? `You have rolled ${index} ${val} times` : null).join('<br/>'); }
 <body> <div id="dice0" class="dice">0</div> <div id="dice1" class="dice">0</div> <button onclick="rollDice()">Roll a Pair of Dice</button> <br> <button onclick="rollDice1000()"> Roll 1000 Times</button> <br> <div id="result" class="current"></div> <div id="list" class="list"></div> <script src="code.js"></script> </body> </html>

Si desea diseñar cada uno, puede envolverlos en un div :

 let results = [null, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; function rollDice() { let dice0 = document.getElementById("dice0"); let dice1 = document.getElementById("dice1"); let result = document.getElementById("result"); let list = document.getElementById("list"); let d0 = Math.floor(Math.random() * 6) + 1; let d1 = Math.floor(Math.random() * 6) + 1; let total = d0 + d1; dice0.innerHTML = d0; dice1.innerHTML = d1; result.innerHTML = "You rolled " + total + "." results[total] += 1; list.innerHTML = results.map((val, index) => val != null ? `<div class="item">You have rolled ${index} ${val} times</div>` : null).join('<br/>'); }
 .item { padding: 10px; background: lightgrey; margin: 10px; } #list { display: flex; flex-wrap: wrap; }
 <body> <div id="dice0" class="dice">0</div> <div id="dice1" class="dice">0</div> <button onclick="rollDice()">Roll a Pair of Dice</button> <br> <button onclick="rollDice1000()"> Roll 1000 Times</button> <br> <div id="result" class="current"></div> <div id="list" class="list"></div> <script src="code.js"></script> </body> </html>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede omitir agregar una entrada si no hay ningún valor:

 list.innerHTML = results.map((val, index)=> { if(val && val > 0){ return `You have rolled ${index}: ${val} times`; } return null; });

Además, si desea tener más control con css, puede envolver cada entrada en un div y luego diseñarlas todas de acuerdo con sus deseos.

 list.innerHTML = results.map((val, index)=> { if(val && val > 0){ return `<div class="myClass">You have rolled ${index}: ${val} times</div>`; } return ''; });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda