Volver a la página principal
jueves 26 diciembre 2024
9

Cómo borrar una key de un objeto en JavaScript

En JavaScript, puedes eliminar una clave de un objeto utilizando el operador delete. Este operador elimina la propiedad especificada del objeto y actualiza su estructura, permitiendo trabajar con objetos más dinámicos y personalizados.

Uso del operador delete para eliminar claves

Para borrar una clave de un objeto, basta con usar la sintaxis delete objeto.clave. Si la clave existe, será eliminada, y si no existe, simplemente no afectará al objeto.

Ejemplo básico:

const usuario = {
  nombre: "Juan",
  edad: 30,
  email: "juan@example.com"
};

// Eliminamos la clave 'edad'
delete usuario.edad;

console.log(usuario);
// Resultado: { nombre: "Juan", email: "juan@example.com" }

Eliminación con notación de corchetes

Cuando la clave está almacenada como una variable o contiene caracteres especiales, se puede usar la notación de corchetes:

const configuracion = {
  "tema-claro": true,
  modoOscuro: false
};

const claveAEliminar = "tema-claro";
delete configuracion[claveAEliminar];

console.log(configuracion);
// Resultado: { modoOscuro: false }

Consideraciones importantes:

1. El operador delete no borra propiedades heredadas: Solo elimina claves que son propias del objeto.

2. El objeto permanece mutable: La clave es removida, pero el objeto sigue siendo modificable.

3. Efecto en prototipos: Si intentas eliminar una clave definida en el prototipo, el delete no funcionará.

Ejemplo avanzado con comprobación:

Antes de eliminar una clave, es buena práctica verificar si existe:

const producto = {
  id: 1,
  nombre: "Laptop",
  precio: 1200
};

if ("precio" in producto) {
  delete producto.precio;
}

console.log(producto);
// Resultado: { id: 1, nombre: "Laptop" }

Alternativas al operador delete

Si necesitas crear un nuevo objeto sin ciertas claves, considera usar funciones como Object.keys y reduce:

const persona = {
  nombre: "María",
  edad: 25,
  ciudad: "Madrid"
};

const nuevaPersona = Object.keys(persona).reduce((acc, key) => {
  if (key !== "edad") acc[key] = persona[key];
  return acc;
}, {});

console.log(nuevaPersona);
// Resultado: { nombre: "María", ciudad: "Madrid" }
Etiquetas:
javascript
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer