例えば、このような形式のオブジェクトがあったとします。
var thisIsObject = {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
キーで削除する関数を作りたいと思いました。
removeFromObjectByKey('Cow');
delete`]1演算子を使うと、オブジェクトからプロパティを削除することができます。
以下の例はすべて同じことをしています。
// Example 1
var key = "Cow";
delete thisIsObject[key];
// Example 2
delete thisIsObject["Cow"];
// Example 3
delete thisIsObject.Cow;
興味のある方は、Understanding Deleteに詳しい説明があります。
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 ));
のように簡単です。
``js object.keyname を削除します。
または
``js
delete object["keyname"];