ワイルドカードに基づいてjavascriptオブジェクトからプロパティを動的に削除する改善された方法に興味があります。まず、次のオブジェクトがあるとします。
object =
{
checkbox_description_1 : 'Chatoyant',
checkbox_description_2 : 'Desultory',
random_property : 'Firefly is a great program',
checkbox_mood_1 : 'Efflorescent',
checkbox_description_3 : 'Ephemeral'
}
タスク
これで、最終結果は、「checkbox_description」を装ってすべてのプロパティを削除し、次のようにオブジェクトの残りの部分をそのまま残します。
object =
{
random_property : 'Firefly is a great program',
checkbox_mood_1 : 'Efflorescent',
}
私の解決策
現在、私のソリューションにはjqueryと次のコードが含まれています。
var strKeyToDelete = 'checkbox_description'
/* Start looping through the object */
$.each(object, function(strKey, strValue) {
/* Check if the key starts with the wildcard key to delete */
if(this.match("^"+strKey) == strKeyToDelete) {
/* Kill... */
delete object[strKey];
};
});
問題
これについての何かは私には非常にエレガントではないように思われ、オブジェクトが妥当なサイズである場合、非常にプロセス集約的です。この操作を実行するためのより良い方法はありますか?