javaScript删除对象属性总结方法

本文详细介绍了JavaScript中四种删除对象属性的方法:使用`delete`关键字、赋值为`undefined`、`Object.assign()`和rest解构(包括已知属性名和动态属性名)。
摘要由CSDN通过智能技术生成

在JavaScript中,可以使用以下几种方法来删除对象的属性:

1、使用delete关键字
  • 使用delete关键字可以从对象中删除指定的属性。示例代码如下:
var obj = {
  name: "John",
  age: 30,
  city: "New York"
};

console.log(obj); // { name: "John", age: 30, city: "New York" }

delete obj.age;

console.log(obj); // { name: "John", city: "New York" }
2、直接赋值为undefined:
  • 可以将属性的值直接赋值为undefined来删除属性。示例代码如下:
var obj = {
  name: "John",
  age: 30,
  city: "New York"
};

console.log(obj); // { name: "John", age: 30, city: "New York" }

obj.age = undefined;

console.log(obj); // { name: "John", age: undefined, city: "New York" }

需要注意的是,通过赋值为undefined删除属性只是将属性的值置为undefined,并没有真正从对象中删除属性。

3、使用Object.assign()方法:
  • 可以使用Object.assign()方法创建一个新对象,只包含原对象中指定的属性,从而达到删除属性的效果。示例代码如下:
var obj = {
  name: "John",
  age: 30,
  city: "New York"
};

console.log(obj); // { name: "John", age: 30, city: "New York" }

var newObj = Object.assign({}, obj);
delete newObj.age;

console.log(obj); // { name: "John", age: 30, city: "New York" }
console.log(newObj); // { name: "John", city: "New York" }

通过Object.assign()方法创建的新对象不包含被删除的属性。需要注意的是,原对象并没有发生改变。

4、使用rest解构对象
  • 1) 属性名称已知:
const { property, ...restObject } = object;

应用解构和rest语法后,restObject将包含与object相同的属性,只是没有删除的属性。

const obj= {
  name: '秋秋钟汉良',
  url: 'qq.com'
};
const { url, ...objRest } = obj;
console.log(objRest); // { name: '秋秋钟汉良' }
console.log(obj); // { name: '秋秋钟汉良',url: 'qq.com' }
  • 2) 属性名称是动态的:
const name = 'property';
const { [name]: removedProperty, ...restObject } = object;

如果要删除的属性名称是动态确定的,则可以使用动态属性名称解构语法:

const obj = {  name: '秋秋钟汉良',  url: 'qq.com'};
const name = 'url';
const { [name]: removedProperty, ...objRest } = obj;
console.log(objRest); // { name: '秋秋钟汉良' }

rest结构方法还可以一次性删除多个属性:

const obj = {
  name: '秋秋钟汉良',
  url: 'qq.com',
  title: '秋秋测试大麦网网速', 
};
const { url, title, ...objRest } = obj;
console.log(objRest);

这些是JavaScript中常用的删除对象属性的方法,根据具体情况选择合适的方法来删除对象的属性。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值