Как удалить ключ из объекта JavaScript? [дубликат]

этот вопрос уже есть ответ здесь:

Допустим у нас есть объект с этим форматом:

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

Я хотел сделать функцию, которая удаляет по ключу:

removeFromObjectByKey('Cow');

3 ответов


на delete оператор позволяет удалить свойство из объекта.

следующие примеры делают то же самое.

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

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

// Example 3
delete thisIsObject.Cow;

Если вам интересно, читайте:!--9-->Понимание Удалить для углубленного объяснения.


если вы используете нижнее подчеркивание.js или Lodash, есть функция "опустить" , которая это сделает.
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

если вы хотите изменить текущий объект, назначьте возвращаемый объект текущему объекту.

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

С чистым JavaScript используйте:

delete thisIsObject['Cow'];

другой вариант С чистым JavaScript.

thisIsObject.cow = undefined;

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

Если вы используете оболочку JavaScript, это так же просто, как:

delete object.keyname;