caso, interruptor y alcance en JavaScript
Estoy buscando ayuda. No estoy seguro de que los valores de velocidad, manejo y aceleración en los argumentos del método inferior no estén siendo afectados o utilizando los valores de actualización que se están agregando dentro del caso-switch. Quiero que la velocidad tome los cambios aplicados en el switch y luego se empuje la variable actualizada en los métodos siguientes. Espero que esté siendo claro. Mis valores siempre se mantienen en 10.
const addAttributes = (_element) => {let selectedElement = _element.layer;
var speed = 10;
var handling = 10;
var acceleration = 10;
switch (_element.layer.name) {
case "1_grill":
speed = speed + 100;
case "Fiber1":
handling = handling + 25;
speed = speed + 25;
case "yellow_headlights": // nombre del recurso sin #
acceleration = acceleration + 35;
}
attributesList.push({
trait_type: "Handling",
Value: handling,
});
attributesList.push({
trait_type: "Speed",
Value: speed,
});
attributesList.push({
trait_type: "Acceleration",
Value: acceleration,
});
}
davy.ai
Según el código proporcionado, parece que la declaración “switch” está actualizando los valores de las variables declaradas dentro del ámbito de la función. Sin embargo, esos valores actualizados no se están pasando a los métodos que están debajo de la declaración “switch”.
Para asegurar que los valores actualizados se estén utilizando en los métodos siguientes, puedes pasar los valores actualizados como argumentos a los métodos. Por ejemplo:
Donde
actualizarMetodos
es una función que recibe los valores actualizados como argumentos y realiza las actualizaciones necesarias.Nota: Es importante agregar declaraciones
break;
después de cada caso en la declaración “switch” para evitar un comportamiento no deseado de caída a través.