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

129
Views
Problema de API | URL con parámetro

Tengo un problema con mi función Eliminar, siempre elimina los últimos datos y no los datos deseados.

Aquí está mi función API - ELIMINAR:

Función para borrar los datos

 app.delete("/api/theTasks/:id", (req, res) => { let taskToRemove = Items.find(p => p.id == parseInt(req.params.id)); let index = Items.indexOf(taskToRemove); Items.splice(index, 1); res.json(taskToRemove); });
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Problema:

  1. find también devuelve undefined si no encuentra el elemento.
  2. cuando busque el índice indefinido, devolverá -1
  3. si pasa -1 para splice , siempre eliminará el último elemento.

Usar filtro de matriz,

 app.delete("/api/theTasks/:id", (req, res) => { const result = Items.filter((p) => p.id === parseInt(req.params.id)); if (result.length === 0) res.status(404).json({ error: "Item not found" }); res.json(result); });
about 4 years ago · Juan Pablo Isaza Report

0

Supongo que la tarea no se encuentra y index termina siendo -1 , por lo que terminas llamando:

 Items.splice(-1, 1);

que elimina el último elemento de Items .

Puede solucionar el problema comprobando si se encontró el elemento y solo eliminándolo si es cierto.

 app.delete("/api/theTasks/:id", (req, res) => { let taskToRemove = Items.find(p => p.id == parseInt(req.params.id)); if (taskToRemove) { let index = Items.indexOf(taskToRemove); Items.splice(index, 1); res.json(taskToRemove); } else { res.status(404).json({ error: 'Item not found' }); } });
about 4 years ago · Juan Pablo Isaza Report

0

obtener el índice es -1; debe verificarlo antes del empalme; o usar filtro

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!