对象赋值,删除对象某个属性,原对象也会被删除

假设 a{ c:1,d:1}
let b =a;
delete b[‘c’];
console.log(a) 输出结果为:{d:1}
console.log(b) 输出结果为:{d:1}
我们用等于号直接赋值一个新对象的时候,并不是拷贝了一个新对象而只是把原对象的引用地址赋值给新对象,所以我们再修改新对象的时候会影响原对象。
解决方法:
let b=JSON.stringify(a);
b =JSON.parse(b);
delete b[‘c’];
console.log(a) 输出结果为:{c:1,d:1}
console.log(b) 输出结果为:{d:1}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 JavaScript 中,可以使用 delete 操作符来删除对象中的某个属性。delete 操作符接受一个对象和一个属性名作为参数,如果该属性存在于该对象中,则删除属性并返回 true,否则返回 false。 以下是一个简单的示例,演示如何删除 JavaScript 对象中的属性: ```javascript // 定义一个对象 var person = { name: 'Alice', age: 25, gender: 'female' }; // 删除对象中的属性 delete person.age; // 输出对象 console.log(person); // {name: "Alice", gender: "female"} ``` 在上面的示例中,person 对象中的 age 属性删除了,输出结果中只剩下了 name 和 gender 两个属性。 需要注意的是,使用 delete 操作符删除对象中的属性时,不影响到该对象的原型链。如果要删除对象的原型链中的属性,需要使用 Object.prototype 上的 delete 方法。例如: ```javascript // 定义一个对象 var person = { name: 'Alice', age: 25, gender: 'female' }; // 添加一个属性到原型链上 Object.prototype.job = 'engineer'; // 删除对象中的属性 delete person.age; // 删除原型链上的属性 delete person.job; // 输出对象 console.log(person); // {name: "Alice", gender: "female"} ``` 在上面的示例中,我们添加了一个 job 属性到 Object.prototype 上,并将其赋值为 'engineer'。然后使用 delete 操作符删除了 person 对象中的 age 属性和 job 属性,输出结果中只剩下了 name 和 gender 两个属性

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值