JS中删除对象的某个属性

JavaScript015

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

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

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

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

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

因为对象在赋值时,其实是引用,并不是拷贝一份。

可以用以下代码:

Object.prototype.clone=function(){

        var newObj = new Object()

        for(elements in this){

          newObj[elements] = this[elements]

        }

        return newObj

}

  var name = {a:'value1',b:'value2'}

  var name2 = name.clone()

  name2.a="aaa"

  delete name2.a