Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

161
Vistas
JavaScript: elimina las propiedades del objeto en una matriz de objetos

¿Existe un método mejor/más corto para eliminar propiedades de objetos en una matriz de objetos que el siguiente ejemplo? Puedo usar vainilla JS o lodash.

Función de ejemplo:

 function stripObjProps(arr) { let newArr = _.clone(arr); for (let i = 0; i < arr.length; i += 1) { delete newArr[i].isBounded; delete newArr[i].isDraggable; delete newArr[i].isResizable; delete newArr[i].maxH; delete newArr[i].maxW; delete newArr[i].minH; delete newArr[i].minW; delete newArr[i].resizeHandles; delete newArr[i].moved; delete newArr[i].static; } return newArr; }
about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Puede usar omit from Lodash para excluir propiedades:

 function stripObjProps(arr) { return arr.map(item => _.omit(item, ['isBounded', 'isDraggable', 'isResizable', 'maxH', 'maxW', 'minH', 'minW', 'resizeHandles', 'moved', 'static'])); } const newArray = stripObjProps(originalArray)

Además, puede usar pick en lugar de omit . En caso de pick , especifique solo las propiedades que desea conservar.

about 4 years ago · Santiago Trujillo Denunciar

0

Puedo pensar en dos formas

 function stripObjProps(arr) { let newArr = _.clone(arr); for (let i = 0; i < newLay.length; i += 1) { [ "isBounded", "isDraggable", "isResizable", "maxH", "maxW", "minH", "minW", "resizeHandles", "moved", "static" ].forEach(k => delete newArr[i][k]); } }

o - suponiendo que newLay es un error tipográfico

 function stripObjProps(arr) { return arr.map(item => { let { isBounded, isDraggable, isResizable, maxH, maxW, minH, minW, resizeHandles, moved, static, ...ret } = item; return ret; }); }

NOTA: no es necesario _.clone en este segundo ejemplo, ya que no está haciendo una clonación profunda, el mapa devuelve una nueva matriz con un nuevo objeto ( ...ret )

Sin embargo, no uso lodash, por lo que puede haber una forma aún mejor con esa biblioteca .

about 4 years ago · Santiago Trujillo Denunciar

0

Otra forma de eliminar propiedades con filter y entries de objetos / fromEntries .

 const data = [ { a: 1, b: 2, c: 3, d: 4, e: 5 }, { a: 1, b: 2, c: 3, d: 4, e: 5 }, { a: 1, b: 2, c: 3, d: 4, e: 5 }, ]; const excludeKeys = ['b', 'c', 'd']; const exclude = (obj) => Object.fromEntries( Object.entries(obj) .filter(([key]) => !excludeKeys.includes(key))); const result = data.map(exclude); console.log(result);
 .as-console-wrapper {max-height: 100% !important; top: 0}

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda