我在底部有一个数据结构..我需要从数组中删除totype.id === 'REG'
以及对象属性budgt
的所有实例。
我已经使用以下代码完成了部分内容,并且将进行另一次迭代以从所有剩余的budgt
中删除totype
,但这似乎不是最好的方法
_.each(data, function (d, i) { // iterate over each "org"
_.each(d.occs, function (occ) { // iterate over each "occ" in current "org"
return _.remove(occ.totypes, function (totype) { // remove the totype REG from "totypes"
return totype.id === 'REG'
})
// how do i remove the "budgt" from each remaining totype
})
})
示例数据
var data = [
{
org: "org1",
occs: [
{
name: "occ1",
totypes: [
{
id: "REG",
act: 1,
auth: 2,
budgt: 3
},
{
id: "PRV",
act: 1,
auth: 2,
budgt: 3
}
]
},
{
name: "occ2",
totypes: [
{
id: "REG",
act: 1,
auth: 2,
budgt: 3
},
{
id: "PRV",
act: 1,
auth: 2,
budgt: 3
}
]
},
},
{
org: "org2",
occs: [
{
name: "occ1",
totypes: [
{
id: "REG",
act: 1,
auth: 2,
budgt: 3
},
{
id: "PRV",
act: 1,
auth: 2,
budgt: 3
}
]
},
{
name: "occ2",
totypes: [
{
id: "REG",
act: 1,
auth: 2,
budgt: 3
},
{
id: "PRV",
act: 1,
auth: 2,
budgt: 3
}
]
}
]
}
]
答案 0 :(得分:1)
没有办法深度删除"你用Lodash描述的方式。它没有像MongoDB那样提供任何查询结构。