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

279
Views
Propiedad del primer objeto en la matriz que se empuja pero no del segundo objeto

Estoy trabajando con una matriz, tratando de crear una función que determine qué sitios están disponibles de acuerdo con un tamaño de grupo y una vista determinados, en otras palabras, qué campamentos están disponibles que se ajustan al tamaño del grupo y tienen la vista dada. Obtengo un resultado de 1 en mi matriz, lo cual es correcto, pero no agrega la propiedad de número para el segundo objeto en la matriz de campamentos.

La salida en la matriz que estoy buscando con los argumentos actuales es "[1,5]". Pasé unos 20 minutos jugando con el código tratando de averiguar qué estaba pasando. Intenté cambiar parte de mi lógica, pero parece ser correcta. ¿Por qué exactamente el número del segundo objeto no se inserta en la matriz? ¡Gracias por adelantado!

 const campgrounds = [ { number: 1, view: "ocean", partySize: 8, isReserved: false }, { number: 5, view: "ocean", partySize: 4, isReserved: false }, { number: 12, view: "ocean", partySize: 4, isReserved: true }, { number: 18, view: "forest", partySize: 4, isReserved: false }, { number: 23, view: "forest", partySize: 4, isReserved: true }, ]; function findMyCampsites(campgrounds, view, partySize){ let sites = [] for (let i = 0; i < campgrounds.length; i++){ if (campgrounds[i].isReserved === false && campgrounds[i].view === view.toLowerCase() && campgrounds[i].partySize >= partySize) { sites.push(campgrounds[i].number) return sites } else { return 'Sorry, no campsites with that view are available to host your party' } } } console.log(findMyCampsites(campgrounds, 'ocean', 4))

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

0

Observe que está llamando a return dentro de su instrucción for

En su lugar, debe moverlo hacia fuera:

 const campgrounds = [ { number: 1, view: 'ocean', partySize: 8, isReserved: false }, { number: 5, view: 'ocean', partySize: 4, isReserved: false }, { number: 12, view: 'ocean', partySize: 4, isReserved: true }, { number: 18, view: 'forest', partySize: 4, isReserved: false }, { number: 23, view: 'forest', partySize: 4, isReserved: true }, ]; function findMyCampsites(campgrounds, view, partySize) { const sites = []; for (let i = 0; i < campgrounds.length; i++) { if ( campgrounds[i].isReserved === false && campgrounds[i].view === view.toLowerCase() && campgrounds[i].partySize >= partySize ) { sites.push(campgrounds[i].number); } } if (!sites.length) { return 'Sorry, no campsites with that view are available to host your party'; } return sites; } const result = findMyCampsites(campgrounds, 'ocean', 4); console.log(result);

Además, recomendaría una solución más funcional usando Array.prototype.find() y Array.prototype.map()

 const campgrounds = [ { number: 1, view: 'ocean', partySize: 8, isReserved: false }, { number: 5, view: 'ocean', partySize: 4, isReserved: false }, { number: 12, view: 'ocean', partySize: 4, isReserved: true }, { number: 18, view: 'forest', partySize: 4, isReserved: false }, { number: 23, view: 'forest', partySize: 4, isReserved: true }, ] const findMyCampsites = (campgrounds, view, partySize) => { const sites = campgrounds .filter( (s) => s.isReserved === false && s.view === view.toLowerCase() && s.partySize >= partySize ) .map(({ number: n }) => n) if (!sites.length) { return 'Sorry, no campsites with that view are available to host your party' } return sites } const result = findMyCampsites(campgrounds, 'ocean', 4) console.log(result);

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!