Estoy tratando de crear una función de filtro que creará una nueva matriz de objetos (newMockData) con cualquier instancia de una clave coincidente, con su valor de clave cambiado a "0", desde otra fuente de matriz de objetos (mockData). La matriz original de objetos se vería así:
const mockData = [ { title: 'Graph 1 Title', data: [ { option: 'Option 1', confClicks: 40, invClicks: 20, }, { option: 'Option 2', confClicks: 40, invClicks: 20, }, { option: 'Option 3', confClicks: 20, invClicks: 20, }, ], }, { title: 'Graph 2 Title', data: [ { option: 'Option 1', confClicks: 0, invClicks: 20, }, { option: 'Option 2', confClicks: 40, invClicks: 20, }, ], }, ];Para "filtrar" invClicks, quiero poder crear una nueva matriz con todas las instancias clave de "inventoryClicks" con su valor cambiando a "0". ¿Supongo que esto requiere algún tipo de "array.map" y/o "array.reduce"?
Ejemplo de la nueva matriz de objetos filtrada "invClicks":
const newMockData = [ { title: 'Graph 1 Title', data: [ { option: 'Option 1', confClicks: 40, invClicks: 0, }, { option: 'Option 2', confClicks: 40, invClicks: 0, }, { option: 'Option 3', confClicks: 20, invClicks: 0, }, ], }, { title: 'Graph 2 Title', data: [ { option: 'Option 1', confClicks: 0, invClicks: 0, }, { option: 'Option 2', confClicks: 40, invClicks: 0, }, ], }, ];Realmente estoy luchando con esto, así que cualquier ayuda sería muy apreciada.
const mockData = [ { title: 'Graph 1 Title', data: [ { option: 'Option 1', confClicks: 40, invClicks: 20, }, { option: 'Option 2', confClicks: 40, invClicks: 20, }, { option: 'Option 3', confClicks: 20, invClicks: 20, }, ], }, { title: 'Graph 2 Title', data: [ { option: 'Option 1', confClicks: 0, invClicks: 20, }, { option: 'Option 2', confClicks: 40, invClicks: 20, }, ], }, ]; const resetInvClicks = (data) => { return data.map((obj) => { return { ...obj, data: obj.data.map((data) => ({ ...data, invClicks: 0, })), }; }); }; console.log(resetInvClicks(mockData));