JavaScript 对象中删除属性的三种方法

2024-08-2521:31:33编程语言入门到精通Comments545 views字数 1170阅读模式

JavaScript 中,对象就像是保存键值对的容器。但是,如果你需要从对象中删除属性,该怎么办?今天这篇文章,我将分享三种方法,希望对你有所帮助。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

1. delete 关键字文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

这是最直接的方法,它的工作原理如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

let obj = {  name: "Alice",  age: 30,  city: "New York"};
// Delete the 'age' propertydelete obj.age; console.log(obj); // Output: { name: "Alice", city: "New York" }

在此示例中,delete obj.age; 从 obj 对象中删除 age 属性。如果删除成功,delete 运算符将返回 true,如果属性不存在或无法删除(如不可配置属性),则返回 false 。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

重要提示:内置原型属性通常是不可配置的,因此你不能对它们使用 delete。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

2. 使用 Rest 语法进行对象解构 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

当我们想创建一个不包含要删除的属性的新对象时,这种方法更为优雅:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

const { propertyToRemove, ...newObject } = originalObject;

让我们分析一个例子:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

let obj = { name: 'Alice', age: '18' }let { age, ...newObj } = obj console.log(obj) // {name: 'Alice', age: '18'} (Original object remains unchanged)console.log(newObj) // {name: 'Alice'} (New object without 'age')

使用解构和 rest 语法,newObject 将是一个新对象,其中包含 originalObject 中的所有属性,除了解构的属性(在本例中为 propertyToRemove)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

3. Reflect.deleteProperty 方法 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

此方法在 ES6 中引入,提供了一种更实用的删除属性的方法:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

Reflect.deleteProperty(object, propertyName);

让我们看看实际效果:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

let obj = { name: 'Alice', age: '18' }console.log(obj) // {name: 'Alice', age: '18'}console.log(Reflect.deleteProperty(obj, 'age')) // trueconsole.log(obj) // {name: 'Alice'}

如果删除成功,Reflect.deleteProperty(object, propertyName) 返回 true,否则返回 false。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

如果您更喜欢更实用的方法或需要使用 JavaScript 中的编程概念,请使用此方法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

以上就是从 JavaScript 对象中删除属性的3种方法!选择哪种方法取决于你的编程风格和你面临的具体情况。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/65005.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/65005.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定