如何在不丢失原始对象的情况下从javascript中删除属性? 我的意思是我可以这样做:
var originalObject = ...;
delete originalObject["Undefined"]
它将删除属性originalObject.Undefined
,但是,我不希望更改originalObject。我希望如此:
newObject = removeUndefined(originalObject);
答案 0 :(得分:1)
从this问题,您有如何克隆对象,如答案中所述“假设您的对象中只有变量而不是任何函数”:
你可以定义:
function removeUndefined(originalObject){
var newObject = JSON.parse(JSON.stringify(originalObject));
delete newObject['Undefined'];
return newObject;
}
所以稍后你可以打电话:
newObject = removeUndefined(originalObject);