Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

151
Visualizações
Actualizar un solo objeto en localStorage

Quiero actualizar un solo objeto en mi localStorage. Hice una página de detalles, donde puedo enviar nuevos valores (progreso y valor) Cuando quiero actualizar el valor, cambia el valor en ambos objetos. ¿Cómo puedo cambiar solo un objeto?

Aquí está mi enlace de implementación (su trabajo en progreso) https://mastery-app.herokuapp.com/

Esta es mi matriz de almacenamiento local:

 skills[ { "title": "Sewing", "imageSrc": "images.unsplash.com", "description": "Make your own clothes", "category": "crafting", "progress": 500, "isDone": false, "rank": 0, "value": 0 }, { "title": "Crocheting", "imageSrc": "images.unsplash.com", "description": "Interlock loops of yarn", "category": "crafting", "progress": 500, "isDone": false, "rank": 0, "value": 0 } ]

Así es como actualizo el almacenamiento local:

 const update = skills.map((skills) => { skills.title === skills.title; const updateProgress = skills.progress - value; const rankNumber = parseInt(ranking); const updateRank = skills.rank + rankNumber; console.log(updateRank); const updateValue = skills.value + value; return { title: skills.title, rank: updateRank, description: skills.description, progress: updateProgress.toFixed(1), imageSrc: skills.imageSrc, category: skills.category, isDone: false, value: updateValue, }; }); localStorage.setItem('skills', JSON.stringify(update));
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede considerar usar el método de find para encontrar el objeto que desea actualizar. map no es la función adecuada para su caso de uso. También skills.title === skills.title; no tiene ningún efecto (tal vez quería usar una declaración if para hacer algún tipo de filtrado usando el título, pero eso siempre devolvería verdadero). Por favor, elimine eso.

Ahora, no sé exactamente qué campo usará para buscar el objeto que desea actualizar, pero tiene que ser único. Si ninguno de los campos en los objetos es único, debe considerar agregar un campo de id único en los objetos de habilidades. Pero si el título es único, puede usar el título para buscar. Entonces puedes hacer algo como el pseudocódigo a continuación:

 const toUpdate = skills.find(skill => skill.title === your_title_here) toUpdate.field_to_update_1 = some_value_1 toUpdate.field_to_update_2 = some_value_2 localStorage.setItem('skills', JSON.stringify(skills))

Consulte también los documentos de MDN para ver cómo funcionan map , find y otros métodos de matriz y algunos de sus casos de uso.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda