javascript删除对象上的属性

mac2025-10-10  1

任务

删除 age 属性

let obj = { name: 'xiaoming', age: 11, id: 2}

解决

方法1: 对象的解构

let {age, ...rest} = obj console.log(age) //11 console.log(rest) //{ name: 'xiaoming', id: 2 }

对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。即等号左边的两个变量的次序,与等号右边两个同名属性的次序不一致,对取值完全没有影响。

方法2: delete

delete obj.age console.log(obj) // { name: 'xiaoming', id: 2 }

delete 只能删除对象上的属性, 不能删除定义的变量, 并且这个Operator/行为 非常慢

方法3: 深拷贝

// 请参考百度/Google,文章很多

拓展

undefined

令属性等于 undefined, 速度会很快, 但是会导致内容泄露,

什么时候用delete,什么时候用undefined,参考下面stack overflow的文章

参考文章

请问js有可以删除对象里某个属性但不改变原对象的方法吗? How do I remove a property from a JavaScript object?推荐

声明: 此文章包括但不限于思路, 字符等均由本人工作场所附近的二手罗技白色背光G610红轴机械键盘(以下简称键盘), 自发敲击而得,该键盘与本人并无直接关系,如有侵权行为, 请自行联系该键盘, 或提供侵权证据,博主可免费协助被侵权方进行维权. 开玩笑…

最新回复(0)