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

122
Views
Cómo eliminar un objeto secundario de un objeto JSON usando javascript

Estoy tratando de buscar a través de un objeto JSON para encontrar la roca mascota que quiero eliminar. Aquí hay un JSON simple en el que estoy trabajando:

misDatos.json:

 { "data": [ { "name": "John", "age": "25", "pet-rocks": [ { "name": "Travis", "age": "9" }, { "name": "Steven", "age": "5" }, { "name": "Oliver", "age": "7" } ] }, { "name": "Jane", "age": "25", "pet-rocks": [ { "name": "Jesse", "age": "4" }, { "name": "Carol", "age": "8" }, { "name": "Jake", "age": "7" } ] } ] }

Me gustaría hacer una búsqueda de "Steven" y eliminar esa mascota de la lista. Aquí están las cosas que he probado:

MiJSFile.js:

 const myDataObject = require('./myData.json'); for (let key in myDataObject) { let value = myDataObject[key]; if (value === "Steven") { delete myDataObject[key]; } //To see if I get the data I want console.log(key, value); }

Sin embargo, mi salida es extraña y no estoy seguro de cómo llegar a ese nodo secundario de petrock. Parece que las rocas de petróleo tienen forma de objeto y no estoy seguro de cómo llegar a ellas. aquí está la salida de mi consola a continuación. Supongo que no se eliminó ya que todavía hay 3 objetos petrock en los datos.

 data [ { name: 'Robert', age: '25', 'pet-rocks': [ [Object], [Object], [Object] ] }, { name: 'Robert', age: '25', 'pet-rocks': [ [Object], [Object], [Object] ] } ]

¡Cualquier ayuda o sugerencia sería muy apreciada! ¡Gracias!

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

0

La roca mascota llamada Steven no es un hijo directo de myDataObject, por lo que no puede eliminarla así. Puede recorrer la matriz de "datos", reconstruyendo la matriz de "pet-rocks" para cada elemento. Un filtro simple para eliminar cualquier roca mascota llamada Steven debería funcionar.

 const myDataObject = { "data": [ { "name": "John", "age": "25", "pet-rocks": [ { "name": "Travis", "age": "9" }, { "name": "Steven", "age": "5" }, { "name": "Oliver", "age": "7" } ] }, { "name": "Jane", "age": "25", "pet-rocks": [ { "name": "Jesse", "age": "4" }, { "name": "Carol", "age": "8" }, { "name": "Jake", "age": "7" } ] } ] }; myDataObject.data.forEach(d => { d["pet-rocks"] = d["pet-rocks"].filter(rock => rock.name !== "Steven"); }); console.log(myDataObject);

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!