Как удалить ключ из объекта JavaScript?
Скажем, у нас есть объект с этим форматом:
var thisIsObject= {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
Я хотел сделать функцию, которая удаляет ключ:
removeFromObjectByKey('Cow');
Ответы
Ответ 1
Оператор delete
позволяет удалить свойство из объекта.
В следующих примерах все делается одинаково.
// Example 1
var key = "Cow";
delete thisIsObject[key];
// Example 2
delete thisIsObject["Cow"];
// Example 3
delete thisIsObject.Cow;
Если вам интересно, прочитайте Understanding Delete для подробного объяснения.
Ответ 2
Если вы используете Underscore.js или Lodash, есть функция "omit", которая сделает это.
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 ));
Ответ 3
Это так же просто, как:
delete object.keyname;
или же
delete object["keyname"];