Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于JSON文件删除JS对象属性_Javascript_Json_Object - Fatal编程技术网

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。另外,如果该属性在原型中定义,那么就不应该删除它。