我有一个对象数组。每个对象在数组中也有一个数组。我想过滤这两个数组,即父级数组和嵌套数组。例如,我有一个如下的数组:
当我应用过滤器时,它会返回具有列表元素值大于2的对象,并且嵌套列表本身也被过滤。它应该返回:
Obj1 没有返回,因为它内部的列表没有任何大于 2 的值,对于 Obj2 只返回列表:[3],对于 Obj3 只返回列表:[3,4]。
是否可以在不改变原始列表的情况下实现?
以下代码过滤具有大于 2 的元素的对象。
我该做什么? 如果我为嵌套数组应用过滤器,该怎么办?
然后我得到了
[{list:[1,2]},{list:[1,2,3]},{list:[1,2,3,4]}]
当我应用过滤器时,它会返回具有列表元素值大于2的对象,并且嵌套列表本身也被过滤。它应该返回:
[{list:[3]},{list:[3,4]}]
Obj1 没有返回,因为它内部的列表没有任何大于 2 的值,对于 Obj2 只返回列表:[3],对于 Obj3 只返回列表:[3,4]。
是否可以在不改变原始列表的情况下实现?
以下代码过滤具有大于 2 的元素的对象。
parent
.filter(obj => obj.list.some(el => el > 2))
我该做什么? 如果我为嵌套数组应用过滤器,该怎么办?
...
.filter(obj => obj.list.filter(el => el > 2))
然后我得到了
[[3],[3,4]]
,但不是对象本身。也许有人知道解决办法?
let
而不是var
;在上面的例子中,这将更多地涉及到风格问题而不是其他任何事情。) - T.J. Crowder