Estoy aprendiendo Javascript y estoy tratando de construir un sitio web con una herramienta para músicos. Aquí hay algo que no puedo entender cómo lograr usando condiciones normales, comparaciones, etc.
Digamos que tengo 5 variables:
a = 0; b = 0; c = 0; d = 0; e = 0;Ahora usando algunas casillas de verificación, las variables ahora se actualizan a:
a = 0; b = 3; c = 1; d = 3; e = 0;Entonces quiero que las variables b y d se conviertan en las variables prioritarias, porque ambas son las variables con el valor más alto (3). O si solo 1 variable obtuviera el valor más alto, esa única variable sería prioritaria, por ejemplo:
a = 0; b = 7; c = 1; d = 3; e = 0;En este caso, se priorizaría la variable b , porque es el número más alto.
¿Cuál es la mejor manera de lograr esto? Básicamente, quiero comparar todos los valores y primero verificar cuál es el valor más alto. Entonces, a la variable o variables con ese valor se le asignaría por ejemplo un nombre o valor diferente. Por ejemplo, si cada variable fuera el nombre de una nota musical (C, D#, F, G, Ab), entonces agregaría un signo + a su nombre (por ejemplo, D#+ y G+). Esta parte, cuál será el resultado final en la parte delantera, no es tan relevante, para ser honesto. Solo quiero entender qué tipo de lógica hay detrás de esto y cómo se puede lograr.
¡Gracias! :)
EDITAR: Entonces, un enfoque en el que estaba pensando era: Primero, reúna todas las variables y ordénelas del valor más alto al más bajo:
b = 3; d = 3; c = 1; a = 0; e = 0;Primero, establezca b en VERDADERO. Luego compare d con b. Si es el mismo número, configúrelo en VERDADERO, de lo contrario, configúrelo en FALSO. Haz lo mismo con c y compáralo con B. Compara a con b, e con B.
Termino con todas las variables VERDADERAS en la parte superior y todas las demás como FALSAS.
¿Es este un buen enfoque? ¿Hay otra alternativa más fácil? Esto funciona con 5 variables, pero ¿y si tuviera 100?