删除数组中特定对象内的 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"];
当我执行 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"];