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

101
Views
Haz un bucle con un caso de cambio en javascript

//Necesito agregar uno al total cada vez que se ingresa el nombre del error. Por ejemplo, si escribo "S" en el indicador, agregará 1 a la dirección total y si escribo "W", se agregará al limpiaparabrisas. El bucle debe ejecutarse hasta que ingresé un valor nulo o cero y calculé los errores totales.

 <html> <head><title>Charge Calculator</title></head> <body> <script type="text/javascript"> //Declaring Variables var day; var data=""; var steering = 0; var turbo =0; var wiper =0; day = prompt("Enter day: ",""); var BR="<br/>"; do { data = prompt("Enter Data: ",""); data = input.nextLine(); switch(data) { case 'S': steering++; break; case 'T': turbo++; break; case 'W': wiper++; break; } } while(data == "") document.write("day: " +day +BR); //Display destination name document.write("Steering issue: " +steering +BR); document.write("turbo Issue: " +turbo +BR); document.write("wiper Issue: " +wiper +BR); </script> </body> </html>
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Hay muchas cosas que mejorar en su código. Tenga en cuenta que la expresión write() potencialmente destruirá partes de su página basada en html. Infórmese sobre los comandos de manipulación DOM en su lugar.

El siguiente fragmento demuestra de forma muy breve cómo podría recopilar sus entradas. Usé su método prompt() simplemente para mostrar que se puede hacer, pero siempre preferiría un campo de input simple en su lugar.

 const counts={s:0,t:0,w:0}; while (++counts[prompt("Please enter the error type code (s,t or w):").toLowerCase()]) {} console.log("steering: "+counts.s+ "\nturbo: "+counts.t+ "\nwipers: "+counts.w);

Todo sucede dentro de la expresión que calcula el resultado de la condición while : el valor de entrada se convierte a counts y luego se incrementa una propiedad del objeto. Esto solo funcionará (= devolverá un resultado "veraz") para propiedades ya inicializadas como s , t o w . Para todos los demás casos, no se puede calcular un incremento, lo que da como resultado un resultado "NaN" ("no es un número"). Esto terminará el bucle while.

about 4 years ago · Juan Pablo Isaza Report

0

Parece que la recursión podría ser una solución más apropiada aquí. Aunque el de @Cartsten también se ve absolutamente bien.

 function count() { const counts = { s: 0, t: 0, w: 0 }; const checkCounts = () => { let input = prompt( 'Please enter the error type code (s,t or w):' ).toLowerCase(); if (counts[input] !== undefined) { ++counts[input]; return checkCounts(); } }; checkCounts(); console.log( `steering: ${counts.s} \n turbo: ${counts.t} \n wipers: ${counts.w}` ); } count();

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!