删除多个对象属性?

斯特凡诺:

我创建了一个具有多个属性的对象-

var objOpts = {
  option1: 'Option1',
  option2: 'Option2',
  option2: 'Option3'
};

然后,我稍后再添加一些属性-

objOpts.option4 = 'Option4'
objOpts.option5 = 'Option5'

然后,我完成了后两个创建的属性(“ Option4”和“ Option5”),并且我想清除/删除这两个属性。

目前,我会这样做-

delete objOpts.option4
delete objOpts.option5

还有另一种方法可以做到这一点吗?想象一下,我又添加了5个属性,并且需要清除/删除它们,而这将是五行几乎相同的“删除”代码

Sunny R Gupta:

我确定您正在尝试向对象添加自定义属性。

我建议的一种更简单的方法是创建一个子属性:

objOpts.custom.option4 = 'Option4'
objOpts.custom.option5 = 'Option5'

这样,您就delete objOpts.custom可以完成它。请注意,在此步骤之后,您将不得不重新创建objOpts.custom = {}

此外,由于您的公共财产很容易与私人财产区分开来,因此这种方式也更接近OOP。

如果您从删除JavaScript中的对象开始,我想指出一篇有关该主题的出色文章:http : //perfectionkills.com/understanding-delete/

您可以尝试使用meta属性,该属性允许您保护属性免受删除等影响(为您的案例创建更好的编码流程)

编辑:

我想添加它,而不是删除并重新创建该属性,您可以简单地说一下objOpts.custom = {}它将从内存中释放option4and option5(最终通过Garbage Collection)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章