删除数组中特定对象内的 JavaScript 属性

Removing a JavaScript property inside a specific Object within an Array

当我执行 stringify():

时,我有一个看起来像这样的对象
{"key-1":{"inner_key_obj-1":{"A":"1", "AA":"11", "AAA":"111"}, "inner_key_obj-2":{"B":"2", "BB":"22", "BBB":"222"}, "inner_key_obj-3":{"C":"3", "CC":"33", "CCC":"333"}}, "key-2" : "not-an-object-property" }

我想搜索并删除它们的键 inner_key_obj-2,以便对象变为:

{"key-1":{"inner_key_obj-1":{"A":"1", "AA":"11", "AAA":"111"},  "inner_key_obj-3":{"C":"3", "CC":"33", "CCC":"333"}}, "key-2" : "not-an-object-property" }

我知道我可以使用 delete 从对象中删除一个键及其值,但我如何通过循环到达那里?

我做了一些基本的测试,例如:

  for (var key in object) 
        {
            if (object.hasOwnProperty(key)) 
            {                
                //Now, object[key] is the current value
                if (object[key] == null)
                { 
                    delete object[type];
                }
            }
        }

...但无济于事。有人可以解释一下如何循环吗?

不会

delete object["key-1"]["inner_key_obj-2"];

做你想做的事?

我只是制作一个新对象

var newObject = {};
for(key in object['key-1']){
    if(key != 'inner_key_obj-2'){
        newObject['key-1'][key] = object[key-1][key];
    }
}

或者

delete object["key-1"]["inner_key_obj-2"];