gpt4 book ai didi

javascript - Lodash - 搜索嵌套数组并返回对象

转载 作者:行者123 更新时间:2023-12-04 22:04:02 24 4
gpt4 key购买 nike

我正在使用 Lodash 搜索嵌套数组,如果找到匹配项,则希望返回该对象。

对于每个对象,搜索 Bus 4。如果找到,则返回该对象(在本例中为学校 'xyz')。

var schools = [  
{
"id":1,
"school":"abc",
"bus":[
{
"id":1,
"name":"first bus"
},
{
"id":2,
"name":"second bus"
}
]
},
{
"id": 2,
"school":"xyz",
"bus":[
{
"id":3,
"name":"third bus"
},
{
"id":4,
"name":"fourth bus"
}
]
}
]

这是我到目前为止所拥有的:
_.forEach(schools, function(school){console.log(_.where(school.bus, {'id':4}))})

只是吐出结果。一类的作品。

最佳答案

首先我们应该决定使用什么函数。筛选 https://lodash.com/docs#filter适合我们的情况,因为我们想要返回通过我们评估的东西。

困难的部分是制定评估。 lodash 确实支持通过嵌套数组进行搜索,一旦你学会了它,语法实际上是非常直观的。

_.filter(schools,
{
bus: [{id: 4}]
}
);

与如果 bus 不是数组相反,在这种情况下它将是
_.filter(schools,
{
bus: {id: 4}
}
);

警告:过滤器将始终返回一个数组,因此如果您只想要对象,请务必将 [0] 附加到它。

关于javascript - Lodash - 搜索嵌套数组并返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33676823/

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