我有一个对象,看起来像这样当我做了stringify()
:删除阵列中的特定对象内的JavaScript属性
{"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];
}
}
}
...但无济于事。有人可以解释如何循环通过这个?
为什么你会需要遍历?你是否需要仅在'key1'中或在较高级别的任何对象中用键'inner_key_obj-2'删除子对象? – jcaron
@jcaron我正在寻找删除该特定位置的密钥。基本上,此对象(键-1)中的第一个属性是一个对象数组。我需要从该数组中移除一个对象。 – KickingLettuce
属性'key-1'下的对象是否始终保存在根对象上?或者你需要首先搜索保存'inner_key_obj-2'的对象? – MinusFour