[web教学] javaScript删除对象属性总结方法

[复制链接]
查看636 | 回复0 | 2023-8-22 15:06:19 | 显示全部楼层 |阅读模式 来自 中国北京
 一、删除js中对象中属性

1.使用delete运算符
例:
1) 使用点属性访问器删除:
  1. delete object.property;
复制代码
在属性访问器上应用delete运算符时,运算符会从对象中删除相应的属性:
  1. const obj = {name: '十六个人博客',url: 'rwlok.com'};
  2. delete obj.url;
  3. console.log(obj); // { name: '十六个人博客' }
复制代码
2) 使用方括号属性访问器删除:
  1. delete object['property'];// orconst name = 'dynamicProperty';
  2. delete object[name];
复制代码
使用delete运算符删除属性是可变的,由于它会改变原始对象。
假如要删除的属性名称是动态确定的,则可以使用方括号语法:
  1. const obj = {  name: '十六个人博客',  url: 'rwlok.com'};
  2. const name = 'url';
  3. delete obj[name];
  4. console.log(obj); // { name: '十六个人博客' }
复制代码
2.使用rest解构对象
1) 属性名称已知:
  1. const { property, ...restObject } = object;
复制代码
应用解构和rest语法后,restObject将包罗与object相同的属性,只是没有删除的属性。
  1. const obj= {
  2.  name: '十六个人博客',
  3.  url: 'rwlok.com'
  4. };
  5. const { url, ...objRest } = obj;
  6. console.log(objRest); // { name: '十六个人博客' }
  7. console.log(obj); // { name: '十六个人博客',url: 'rwlok.com' }
复制代码
2) 属性名称是动态的:
  1. const name = 'property';
  2. const { [name]: removedProperty, ...restObject } = object;
复制代码
假如要删除的属性名称是动态确定的,则可以使用动态属性名称解构语法:
  1. const obj = {  name: '十六个人博客',  url: 'rwlok.com'};
  2. const name = 'url';
  3. const { [name]: removedProperty, ...objRest } = obj;
  4. console.log(objRest); // { name: '十六个人博客' }
复制代码
rest布局方法还可以一次性删除多个属性:
  1. const obj = {
  2.   name: '十六个人博客',
  3.   url: 'rwlok.com',
  4.   title: '卡卡测速网',
  5. };
  6. const { url, title, ...objRest } = obj;
  7. console.log(objRest); // { name: '十六个人博客' }
复制代码


来源:https://blog.csdn.net/weixin_44030860/article/details/128609173
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则