【发布时间】:2019-11-08 05:15:23
【问题描述】:
我正在尝试过滤具有子数组的数组。 我想按子数组过滤我的数组 我的数组如下所示:
var Branches = [
{
Name: 'branch1',
Screens: [
{
Name: 'Screen1',
Player: {
Status: 0
}
},
{
Name: 'Screen2',
Player: {
Status: 1
}
}
]
},
{
Name: 'branch2',
Screens: [
{
Name: 'Screen1',
Player: {
Status: 0
}
},
{
Name: 'Screen2',
Player: {
Status: 1
}
}
]
}]
我已经用 linq.js 试过了
var param = 1
var result = Enumerable.From(Branches).Where(function (d) {
return (d.Screen.some(x => x.Player.Status === param))
}).ToArray();
但是这段代码仍然从每个分支获取状态 0
我只想从每个分支获取状态 = 1
预期结果:
[
{
Name: 'branch1',
Screens: [
{
Name: 'Screen2',
Player: {
Status: 1
}
}
]
},
{
Name: 'branch2',
Screens: [
{
Name: 'Screen2',
Player: {
Status: 1
}
}
]
}
]
谢谢 ;)
【问题讨论】:
-
如果里面没有
Status: 1怎么办?你想得到父对象吗?还是只是过滤内部数组? -
是的,我想获取父对象以及已过滤的子对象
-
@NinaScholz 嗨,还有其他解决方案吗?谢谢
标签: javascript angularjs linq.js