我很好奇一种基于通配符从 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];
};
});
问题
这对我来说似乎很不雅,如果对象的大小合理,则过程密集。有没有更好的方法来执行这个操作?