Как удалить ключ из объекта 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"];
Ответ 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 ));