Hola, soy bastante nuevo en JavaScript, de hecho, no sé nada sobre JavaScript. Estoy tratando de crear una herramienta para un juego en el que haces clic en un botón para generar un número aleatorio y luego tienes un saldo en el que sube una cantidad específica en función de un rango de números que obtuviste. Así que digamos que 1-10 vale $1, 11-20 vale $2 y 21-30 vale $3. Tal vez saques un 26, 14, 18 y un 8. Eso valdría $8. Mi problema en este momento es asignar un valor diferente a un rango específico de números y hacer que el saldo aumente en la cantidad relacionada con el número obtenido. No estoy buscando una respuesta específica. No quiero limosnas y no quiero venir aquí para encontrar a alguien que haga el trabajo por mí gratis. Pero si alguien pudiera ayudarme a resolverlo o indicarme un lugar donde pueda encontrar una solución, sería muy apreciado. Esto es lo que tengo hasta ahora que está muy lejos de donde debe estar.
function Random() { var rnd = Math.floor(Math.random() * 10000); document.getElementById('tb').value = rnd; const numberElement = document.getElementById("bal"); const number = parseInt(numberElement.innerText, 10) + 1; numberElement.innerText = number; } <form name="rn"> <input type="text" id="tb" name="tb" /> <input type="button" value="Random Number" onclick="Random();" /> </form> <h1>Balance:</h1> <h2 id="bal">0</h2>Suponiendo que el valor no se puede calcular directamente a partir del número a través de la aritmética directa (consulte el comentario de Pointy ), podría definir una matriz de "cubos", donde cada entrada tiene un mínimo, un máximo y un valor, y luego encontrar el cubo para cualquier valor dado:
const buckets = [ { min: 0, max: 5, value: 5 }, { min: 6, max: 10, value: 10 }, { min: 11, value: 100 } ]; function findBucket (value) { return buckets.find(b => ( (b.min == null || b.min <= value) // either bucket doesn't have a min or min is less than value… && (!b.max || b.max >= value)) // …and either bucket doesn't have a max or max is greater than value ); } function getBucketValue (rollValue) { return findBucket(rollValue)?.value || 0; // return the bucket value, or zero if no bucket was found } console.log(getBucketValue(2)) // 5 console.log(getBucketValue(8)) // 10 console.log(getBucketValue(35)) // 100 console.log(getBucketValue(9999)) // 100 console.log(getBucketValue(-1)) // 0