¿Cómo actualizo el título en data si la identificación coincide?
const data = { "0": { "id": 1912, "title": "Books", }, "1": { "id": 1958, "title": "Brands", }, "2": { "id": 2037, "title": "Logo", }, "3": { "id": 2038, "title": "Colour", }, }Por ejemplo, este es el objeto con el último título actualizado con el id: 1912.
const updatedData = {id: 1912, title: 'The Books'} Salida de muestra después de actualizar data con datos updatedData
const data = { "0": { "id": 1912, "title": "The Books", }, "1": { "id": 1958, "title": "Brands", }, "2": { "id": 2037, "title": "Logo", }, "3": { "id": 2038, "title": "Colour", }, }Use Object.keys() para generar una matriz de claves de objeto ( [0,1,2,3] ). Recorra esa matriz y verifique la identificación en cada una.
const data = { 0: { id: 1912, title: 'Books', }, 1: { id: 1958, title: 'Brands', }, 2: { id: 2037, title: 'Logo', }, 3: { id: 2038, title: 'Colour', }, }; const updatedData = { id: 1912, title: 'The Books' }; Object.keys(data).forEach((el) => { if (data[el].id === updatedData.id) { data[el] = updatedData; } });En cuanto a React, te sugiero que deberías mutar tu objeto para la actualización.
Puede usar Object.entries para obtener claves (sus índices) y valores (su objeto interno que desea actualizar), y luego usar el map para completar sus datos updatedData en los datos encontrados con datos updatedData.id
const data = { "0": { "id": 1912, "title": "Books", }, "1": { "id": 1958, "title": "Brands", }, "2": { "id": 2037, "title": "Logo", }, "3": { "id": 2038, "title": "Colour", }, } const updatedData = {id: 1912, title: 'The Books'} const result = Object.entries(data).map(([key, value]) => value.id === updatedData.id ? { [key]: { ...value, ...updatedData } } : { [key]: value }) console.log(result)