No estoy seguro de lo que estoy haciendo mal. Gracias de antemano por ayudarme en este asunto.
var sum = 0; var pricecheck = 35; while (sum < pricecheck) { var userinput = prompt("Please enter the cost of the item..."); var num1 = parseInt(userinput); submitprice.push(num1); for (i = 0; i < submitprice.length; i++) { sum += submitprice[i]; } } alert("free shipping.");Declare sum a cero cada vez que ejecute la suma de elementos. De lo contrario, seguirá sumando a la suma que se calculó en la iteración anterior.
Además, su precio de submitprice parece no estar definido. Lo he inicializado como una matriz vacía.
violín de trabajo
var sum = 0; var pricecheck = 35; const submitprice = []; while (sum < pricecheck) { var userinput = prompt("Please enter the cost of the item..."); var num1 = parseInt(userinput); submitprice.push(num1); sum = 0; for (i = 0; i < submitprice.length; i++) { sum += submitprice[i]; } } alert("free shipping.");Para comenzar, debe crear una matriz vacía para almacenar los totales. Para esto, lo llamaré "carrito":
var cart = [];A continuación, sugeriría crear una declaración if para verificar si la entrada es un número:
var num1 = parseInt(userinput); if(isNaN(userinput){ alert("Please enter a number"); continue; }No necesita el bucle for para agregar la entrada a la suma, simplemente elimine el bucle:
sum += userinputDespués del ciclo, empujarías al carrito:
cart.push(num1)Finalmente, debe verificar si la suma es mayor que el envío gratuito
if(sum >= pricecheck) { alert("You qualify for free shipping!")' }Luego, simplemente envíe el resultado a la consola con una tubería (|) concatenada entre los números.
console.log(cart.join(" | ") var sum = 0; var cart = []; var pricecheck = 35; while (sum < pricecheck) { var userinput = prompt("Please enter the cost of the item..."); if (userinput === null) { break; } var num1 = parseInt(userinput); if (isNaN(userinput)) { alert("Please enter a number"); continue; } cart.push(num1); sum += num1; } if (sum >= pricecheck) { alert("free shipping."); }Eché un vistazo a esta tarea nuevamente para actualizar lo que se solicitó para esta pregunta. No necesita tener ese ciclo for en absoluto dentro del ciclo while. Dentro de cada iteración del bucle while, le pregunta al usuario el precio de su próximo artículo, lo agrega al carrito de compras y también lo agrega a un total acumulado (este total es su "suma"). No es necesario volver a calcular este total acumulado cada vez dentro del ciclo while porque lo habría hecho en una sola línea. Está tratando de calcular el precio, comenzando en 0, cada vez que recorre el ciclo while (usando su ciclo for). Pero esto no es necesario ya que ya tiene un total acumulado que se puede agregar cada vez que el usuario ingresa un valor.
"Austin Caron" lo explicó bien, pero para esta tarea no necesitamos realizar la autenticación de usuario.
PD Haz todo lo posible por evitar hacer preguntas directamente sobre una tarea y haz preguntas más generales sobre un concepto o una idea con la que tengas dificultades.