Pregunta ¿Cómo elimino una clave de un objeto JavaScript? [duplicar]


Esta pregunta ya tiene una respuesta aquí:

Digamos que tenemos un objeto con este formato:

var thisIsObject= {
   'Cow' : 'Moo',
   'Cat' : 'Meow',
   'Dog' : 'Bark'
};

Quería hacer una función que elimine por clave:

removeFromObjectByKey('Cow');

864
2017-08-11 04:59


origen


Respuestas:


los delete operador le permite eliminar una propiedad de un objeto.

Los siguientes ejemplos hacen lo mismo.

// Example 1
var key = "Cow";
delete thisIsObject[key]; 

// Example 2
delete thisIsObject["Cow"];

// Example 3
delete thisIsObject.Cow;

Si estás interesado, lee Entender Eliminar para una explicación en profundidad.


1543
2017-08-11 05:01



Si está utilizando Underscore.js o Lodash, hay una función 'omit' que lo hará.
http://underscorejs.org/#omit

var thisIsObject= {
    'Cow' : 'Moo',
    'Cat' : 'Meow',
    'Dog' : 'Bark'
};
_.omit(thisIsObject,'Cow'); //It will return a new object

=> {'Cat' : 'Meow', 'Dog' : 'Bark'}  //result

Si desea modificar el objeto actual, asigne el objeto que regresa al objeto actual.

thisIsObject = _.omit(thisIsObject,'Cow');

Con JavaScript puro, use:

delete thisIsObject['Cow'];

Otra opción con JavaScript puro

thisIsObject.cow = undefined;

thisIsObject = JSON.parse(JSON.stringify(thisIsObject ));

100
2018-03-01 19:02



Si está utilizando un shell de JavaScript, es tan fácil como:

delete object.keyname;

43
2017-12-15 21:38