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

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