Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

162
Views
envío gratuito... si el total del gráfico de compras es superior a $35... entrada del usuario a menos que el total sea superior a $35 en JavaScript

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.");

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

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.");

about 4 years ago · Juan Pablo Isaza Report

0

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 += userinput

Despué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."); }

about 4 years ago · Juan Pablo Isaza Report

0

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.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!