js 对象属性删除

一、使用 delete 关键字删除对象属性

语法

delete object.property
delete 对象.属性
删除成功返回 true, 删除失败返回 false
使用delete运算符删除属性是可变的,因为它会改变原始对象。

实例:

let obj = { name: '乐乐', age: '18' }
console.log(obj) // {name: '乐乐', age: '18'}
delete obj.age // true
console.log(obj) // {name: '乐乐'}

运行结果
在这里插入图片描述
如果上传的属性是动态的
代码

let obj = { name: '乐乐', age: '18' }
console.log(obj) // {name: '乐乐', age: '18'}
let name = 'age'
console.log(delete obj[name]) // true
console.log(obj) // {name: '乐乐'}

运行结果
在这里插入图片描述

二、使用rest解构对象

语法

const { property, ...newObject } = object
const { 属性名, ...新对象} = 对象
应用解构和rest语法后,restObject将包含与object相同的属性,只是没有删除的属性。

代码

let obj = { name: '乐乐', age: '18' }
let { age, ...newObj } = obj
console.log(obj) // {name: '乐乐', age: '18'}
console.log(newObj) // {name: '乐乐'}

运行结果
在这里插入图片描述

三、使用ES6新增的Reflect.deleteProperty

语法

Reflect.deleteProperty(object, property)
Reflect.deleteProperty(对象,属性名),返回一个布尔值

代码

let obj = { name: '乐乐', age: '18' }
console.log(obj) // {name: '乐乐', age: '18'}
console.log(Reflect.deleteProperty(obj, 'age')) // true
console.log(obj) // {name: '乐乐'}

运行结果
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐