如何在JS中复制和删除JSON属性

时间:2019-07-11 07:20:41

标签: javascript

可以从JSON对象中删除属性,然后将其复制到其自己的变量中,这样,当从原始对象中删除该属性时,新的属性就保持不变:

var obj = {
    prop: {x:1,z:2}
}
var newProp = obj.prop;
delete obj.prop;

console.log(obj);
console.log(newProp);
这导致newProp也被“删除”。

2 个答案:

答案 0 :(得分:4)

您应该用三个点来复制变量,即数组:

var obj = {
    prop: {x:1,z:2}
}
var newProp = { ...obj.prop};

答案 1 :(得分:1)

您可以使用Object.assign克隆该对象,然后删除原始对象

var obj = {
    prop: {x:1,z:2}
}
var newProp = Object.assign({},obj.prop);
delete obj.prop;

console.log(newProp);
console.log(obj)

或者...传播算子

var obj = {
    prop: {x:1,z:2}
}
var newProp = {...obj.prop};
delete obj.prop;

console.log(newProp);
console.log(obj)