JS中删除对象的某个属性

JavaScript09

JS中删除对象的某个属性,第1张

delete 是删除对象的属性的唯一真正的方法

但它的性能要比 object[key] = undefined 差很多

这个选择不是这个问题的正确答案!但是,如果你小心使用它,你可以大大加快一些算法。如果您delete在循环中使用并且在性能方面存在问题,可以考虑这种用法

在数组中,与普通的旧对象不同,使用delete在表单中留下垃圾,null在数组中创建一个“洞”, 而且length不变

var source = '<div style="a:a b:b c:c" width="10%" height="dd"></div>'

// 删除width属性及值。

console.log(source.replace(/width=".*?"/,''))

//删除style属性中的键值对b和c

console.log(source.replace(/(style=")(.*?)(")/,function(m,g1,g2,g3){

return g1 + g2.replace(/\s?(.*?):(.*?)/g,function(m,g1,g2){

// 删除b属性和c属性 要改成其他属性可以在这里控制

if(/^(b|c)$/.test(g1))

return ''

return m

}) + g3

}))