问题描述
给定一个对象:
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
这不是删除属性,而是创建一个浅拷贝,而不是跨指定的键和值进行复制。这是一个非常大的区别。
箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。