gpt4 book ai didi

javascript - 使用下划线操作javascript对象

转载 作者:行者123 更新时间:2023-11-30 16:14:04 26 4
gpt4 key购买 nike

我有一个 Javascript 对象,其格式如下所示

"items":
{
"Groups":[
{
"title":"group 1",
"SubGroups":[
{
"title":"sub1",
"id" : "1",
"items":[
{
"title":"Ajax request 1",
},
{
"title":"Ajax request 2",
}
]
},
{
"title":"sub2",
"id" : "2",
"items":[
{
"title":"Ajax request 3",
},
{
"title":"Ajax request 4",
}
]
}
]
}
]

有 n 个“组”、n 个“子组”和 n 个“项目”。

我首先要做的是根据 id 从特定组中获取所有项目。这是通过以下方式实现的:

_.each(items.Groups, function(o) {
result = _.where(o.SubGroups, {
'id': '1'
});
});

返回

"items":[{"title":"Ajax request 1",},{"title":"Ajax request 2",}]

然后我想得到剩下的数据,不包括我刚刚检索到的项目和父组。

我试过这个:

_.each(items.Groups, function(o) {
arr = _.without(o.SubGroups, _.findWhere(o.SubGroups, {id: '2'}));
});

但这只会返回如下项目:

{
"title":"sub2",
"id" : "2",
"items":[{"title":"Ajax request 3"},{"title":"Ajax request 4",}]
}

而我需要的是:

 "items":
{
"Groups":[
{
"title":"group 1",
"SubGroups":[
{
"title":"sub2",
"id" : "2",
"items":[
{
"title":"Ajax request 3",
},
{
"title":"Ajax request 4",
}
]
}
]
}
]

最佳答案

试试这个:

_.each(items.Groups, function(o) {
arr = _.without(o, _.findWhere(o.SubGroups, {id: '2'}));
});

o 应该足够了 => 您想要获取组而不是子组。

关于javascript - 使用下划线操作javascript对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35792189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com