Quiero mejorar el rendimiento de la tabla con un gran conjunto de datos eliminando todos los objetos anidados que la tabla no usa. No quiero nombrar las claves porque variarán de un conjunto de datos a otro. Esta debe ser una función de ayuda reutilizable que elimine objetos según el typeof de en lugar de una clave.
Datos de ejemplo:
const data = [ { test: 1, notes: [] }, { test: 2, notes: [] }, { test: 3, notes: [] } ];Resultado Esperado
[ { test: 1 }, { test: 2 }, { test: 3 } ];Lo que he probado:
const simpleRows = (arr) => { var rows = arr.map(({ notes, ...keepAttrs }) => keepAttrs); return rows; }; const rows = simpleRows(data) // This works but I have hardcoded the key 'notes' which I don't want¿Cuál es la forma más eficiente de eliminar todos los objetos de cada objeto en una matriz de objetos en un conjunto de datos grande (~ 10000 objetos en la matriz) sin codificar la clave y sin una biblioteca externa?
Gracias
Puede filtrar las entradas de cada objeto y crear un nuevo objeto a partir de las entradas filtradas:
const data = [ { test: 1, notes: [] }, { test: 2, notes: [] }, { test: 3, notes: [] } ] const result = data.map(obj => Object.fromEntries(Object.entries(obj).filter(([_, v]) => !Array.isArray(v)))) console.log(result)