Estoy tratando de actualizar un valor de número específico basado en otro valor de número específico en javascript
Estoy buscando la mejor manera de usar javascript para que cuando cambie el valor de 'BPM', el valor de 'tiempo agregado' también cambie para coincidir con los siguientes valores:
BPM : Tiempo agregado
-52 : 4,75
-48: 4,5
-44: 3,8
-40: 3,2
-36: 2,5
-32 : 2
-28 : 2
-24: 1,5
-20: 1,25
-16: 0,85
-12 : 0,75
-8 : 0.5
-4: 0,25
0 : 0
4 : 0
8 : -0.2
12: -0,4
16: -0,6
20: -0,6
24: -0,8
28: -0,9
32 : -1.1
36 : -1.1
40 : -1,2
44 : -1,35
48: -1,42
52: -1,55
Creo que esto podría hacerse con una serie de sentencias if...else if, pero eso parece muy difícil de manejar.
Aquí está el código que estoy usando para actualizar el BPM con un clic de botón:
function increase() { // Increase the playing speed by approx 1 BPM rate += 0.03808; bpm += 4; } function decrease() { // Decreasing the playing speed by 1 BPM if (rate > .25) rate -= 0.03808; bpm -= 4; }Me gustaría agregar otra variable llamada 'cambio de tiempo' que asigna el valor de los bpm al valor de tiempo correcto en la lista anterior cada vez que los bpm aumentan o disminuyen.
Gracias
Puede hacerlo con un objeto javascript. Simplemente asigne a cada BPM un valor en un objeto. Luego adjunte un controlador de eventos a la entrada BPM y verifique si ese valor existe y utilícelo. Solo lo registro con fines de prueba.
let times = { "-52": "4.75", "-48": "4.5", "-44": "3.8", "-40": "3.2", "-36": "2.5", "-32": "2", "-28": "2", "-24": "1.5", "-20": "1.25", "-16": "0.85", "-12": "0.75", "-8": "0.5", "-4": "0.25", "0": "0", "4": "0", "8": "-0.2", "12": "-0.4", "16": "-0.6", "20": "-0.6", "24": "-0.8", "28": "-0.9", "32": "-1.1", "36": "-1.1", "40": "-1.2", "44": "-1.35", "48": "-1.42", "52": "-1.55" }; let bpmInput = document.querySelector(".bpm"); bpmInput.addEventListener("input", function() { _time = times[bpmInput.value]; if (_time) { console.log(_time) } }); <input type="text" class="bpm">