Javascript 基于JSON文件删除JS对象属性
我有某些对象必须删除某些属性,即:Javascript 基于JSON文件删除JS对象属性,javascript,json,object,Javascript,Json,Object,我有某些对象必须删除某些属性,即: objA = { firstAttrA: 'fooA', secondAttrA: 'barA' } objB = { firstAttrB: 'fooB', secondAttrB: 'barB' } 我希望在函数中传递这些对象,该函数将根据以下属性文件删除firstAttrA和firstAttrB: { "objA":"firstAttrA", "objB":"firstAttrB" } 该方法需要健壮,我需要避免过多的循环和任何会影
objA = { firstAttrA: 'fooA', secondAttrA: 'barA' }
objB = { firstAttrB: 'fooB', secondAttrB: 'barB' }
我希望在函数中传递这些对象,该函数将根据以下属性文件删除firstAttrA和firstAttrB:
{
"objA":"firstAttrA",
"objB":"firstAttrB"
}
该方法需要健壮,我需要避免过多的循环和任何会影响性能的事情,因为本质上要传递的对象数量很大,它们的属性也很多
基本上,我想我需要做一个
删除objA.firstAttrA;删除objB.firstAttrB代码>但由JSON属性文件驱动。如果在全局范围内定义,则您的方法如下所示:
var objRef = {
"objA":"firstAttrA",
"objB":"firstAttrB"
};
for (var item in objRef) {
if (window.hasOwnProperty(item)) {
if (window[item].hasOwnProperty(objRef[item])) {
delete window[item][objRef[item]];
}
}
}
太棒了,有一个进球很好。但是,Stackoverflow不是一个代码编写服务,我们希望您先尝试一下自己解决问题,并在问题中展示这种努力(如果您有代码,即使它不起作用,也总比没有好)。目前,这是一个非常广泛的问题,因此您需要将其缩小到您正在努力解决的特定部分。如果你完全不知道从哪里开始也没关系,你只需要这么说。我很好奇:为什么If(window[item].hasOwnProperty
?@zeroplagl可以避免对不存在的属性调用delete。另外,如果该属性在原型中定义,那么就不应该删除它。