如果您有一个对象附加到属性,如下所示:
obj = {};
obj.prop = {name:'test'};
Run Code Online (Sandbox Code Playgroud)
有没有一种方法,类似于使用array.splice,从该属性中删除对象,并返回它,以便它可以附加到另一个对象?
你当然可以:
var obj = {};
obj.prop = { name: 'test' };
var newObj = { prop: obj.prop} ; // Copy prop to a new object
delete obj.prop; // delete `prop` on the old object.
document.body.textContent = 'newObj: ' + JSON.stringify(newObj);Run Code Online (Sandbox Code Playgroud)
delete如果属性是自己的不可配置属性(在非严格中返回false),则在严格模式下抛出错误.它会true在所有其他情况下返回.
因此,虽然技术上不是类似函数pop或splice返回已删除属性的函数,但解决这个问题是微不足道的.
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |