一、删除js中对象中属性
1.使用delete运算符
例:
1) 使用点属性访问器删除:
在属性访问器上应用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: '十六个人博客' }
复制代码
来源:https://blog.csdn.net/weixin_44030860/article/details/128609173
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |