如何从 JS 对象中删除属性?

问题描述

给定一个对象:

let obj={
    name:'echohye',
    age:'18',
    hobby:'sleep'
}

如何删除属性 hobby以得到以下 obj?

let obj={
    name:'echohye',
    age:'18'
}

解决方案1

delete obj.hobby;
// or,
delete obj['hobby'];
// or,
var prop = "hobby";
delete obj[prop];

解决方案2

使用对象解构这一 ECMAScript 6 功能,它非常简单:

let obj={
    name:'echohye',
    age:'18',
    hobby:'sleep'
}
let { hobby, ...rest } = obj;

注意...rest不可以再命名obj

这不是删除属性,而是创建一个浅拷贝,而不是跨指定的键和值进行复制。这是一个非常大的区别。

posted @ 2023-01-28 02:37  槑孒  阅读(561)  评论(0编辑  收藏  举报