通过解构来删除对象属性

117 阅读1分钟
  1. 属性名称已知:

语法

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

举例:

const obj= {
  name: '十六个人博客',
  url: 'rwlok.com'
};
//删除url
const { url, ...objRest } = obj;
//objRest就是我们最后需要的
console.log(objRest); // { name: '十六个人博客' }
  1. 属性名称是动态的:

语法

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: '十六个人博客' }

一次性删除多个属性

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