javaScript删除对象属性的几种方法总结

 更新时间:2023年06月10日 11:09:26   作者:十六Code  
这篇文章主要给大家介绍了关于javaScript删除对象属性的几种方法的相关资料,它们在不同场景下有不同的应用,需要根据实际情况选择最合适的删除方法,文中通过实例代码介绍的非常详细,下面需要的朋友可以参考下

删除js中对象中属性

1.使用delete运算符

例:

1) 使用点属性访问器删除:

delete object.property;

在属性访问器上应用delete运算符时,运算符会从对象中删除相应的属性:

const obj = {name: '十六个人博客',url: 'rwlok.com'};
delete obj.url;
console.log(obj); // { name: '十六个人博客' }

2) 使用方括号属性访问器删除:

delete object['property'];// orconst name = 'dynamicProperty';
delete object[name];

使用delete运算符删除属性是可变的,因为它会改变原始对象。

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

const obj = {  name: '十六个人博客',  url: 'rwlok.com'};
const name = 'url';
delete obj[name];
console.log(obj); // { name: '十六个人博客' }

2.使用rest解构对象

1) 属性名称已知:

const { property, ...restObject } = object;

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

const obj= {
  name: '十六个人博客',
  url: 'rwlok.com'
};
const { url, ...objRest } = obj;
console.log(objRest); // { name: '十六个人博客' }
console.log(obj); // { name: '十六个人博客',url: 'rwlok.com' }

2) 属性名称是动态的:

const name = 'property';
const { [name]: removedProperty, ...restObject } = object;

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

const obj = {  name: '十六个人博客',  url: 'rwlok.com'};
const name = 'url';
const { [name]: removedProperty, ...objRest } = obj;
console.log(objRest); // { name: '十六个人博客' }

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

const obj = {
  name: '十六个人博客',
  url: 'rwlok.com',
  title: '卡卡测速网', 
};
const { url, title, ...objRest } = obj;
console.log(objRest); // { name: '十六个人博客' }

附:通过赋值得到方式

const car = {
  color: 'blue',
  brand: 'Ford'
}
const prop = 'color'

const newCar = Object.keys(car).reduce((object, key) => {
  if (key !== prop) {
    object[key] = car[key]
  }
  return object
}, {})

总结

到此这篇关于javaScript删除对象属性的几种方法总结的文章就介绍到这了,更多相关js删除对象属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论