0

我有某些对象,我必须删除某些属性,即:

objA = { firstAttrA: 'fooA', secondAttrA: 'barA' }
objB = { firstAttrB: 'fooB', secondAttrB: 'barB' }

我想在一个函数中传递这些对象,该函数将根据以下属性文件删除 firstAttrA 和 firstAttrB:

{
    "objA":"firstAttrA",
    "objB":"firstAttrB"
} 

该方法需要健壮,我需要避免过度循环和任何会影响性能的事情,因为本质上将传递的对象数量很大并且它们的属性很多。

本质上我想我需要做一个delete objA.firstAttrA; delete objB.firstAttrB;但由 JSON 属性文件驱动。

4

1 回答 1

0

好吧,如果在全局范围内定义,那么您的方法将如下所示:

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]];
        }
    }
}
于 2013-04-26T09:59:06.120 回答