使用基于嵌套值的数组过滤对象数组

巴托什·巴塞克

我正在尝试基于一些嵌套对象来过滤数组。我准备了一些小提琴

输入数组如下所示:

let arrayOfElements = 
    [
        {
           "name": "a",
           "subElements": 
           [
             {"surname": 1},
             {"surname": 2}
           ]
        },
        {
           "name": "b",
           "subElements": 
           [
             {"surname": 3},
             {"surname": 1}
           ]
        },
        {
           "name": "c",
           "subElements": 
           [
             {"surname": 2},
             {"surname": 5}
           ]
        }
    ];

我希望这种情况下的输出如下所示:

let filteredArray = 
    [
        {
          "name": "a",
          "subElements": 
          [
            {"surname": 1}
          ]
        },
        {
          "name": "b",
          "subElements": 
          [
            {"surname": 1}
          ]
        }
];

我正在使用此公式来做到这一点:

let filteredArray = arrayOfElements.filter((element) => element.subElements.some((subElement) => subElement.surname === 1));

输出几乎是好的,但它返回的对象带有所有带有姓氏的对象(最好检查小提琴:D),而不是将其删除。我如何改善过滤?

尼特什·兰詹(Nitesh Ranjan)

这样一来,您可以深入数组并过滤任意级别的元素,

arrayOfElements.map((element) => {
  return {...element, subElements: element.subElements.filter((subElement) => subElement.surname === 1)}
})

Spread operator将展开element,然后过滤subElements将覆盖subElementsin元素。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用基于嵌套值的数组过滤对象数组以提取特定字段

来自分类Dev

如何基于其他数组使用嵌套数组过滤对象数组

来自分类Dev

通过嵌套的对象值数组过滤对象数组

来自分类Dev

基于对象属性的数组过滤

来自分类Dev

使用嵌套键数组过滤出Python字典值

来自分类Dev

将嵌套的对象数组过滤为对象数组

来自分类Dev

从对象数组过滤

来自分类Dev

基于数组过滤对象的属性。并获取过滤后的对象

来自分类Dev

无法根据嵌套数组过滤对象数组

来自分类Dev

使用平面数组过滤JSON对象

来自分类Dev

使用平面数组过滤JSON对象

来自分类Dev

使用没有嵌套循环js的数组过滤对象数组

来自分类Dev

使用可能值数组过滤结果

来自分类Dev

lodash:使用不同的对象数组过滤对象数组

来自分类Dev

根据嵌套数组过滤Firebase对象

来自分类Dev

角嵌套数组过滤整个对象

来自分类Dev

按键数组过滤对象

来自分类Dev

按数组过滤对象

来自分类Dev

按键数组过滤对象

来自分类Dev

如何使用NSPredicate基于数组过滤核心数据对象

来自分类Dev

Javascript或lodash:使用嵌套数组的值过滤对象数组

来自分类Dev

Lodash - 按 prop 值数组过滤嵌套集合

来自分类Dev

lodash。使用子数组过滤字段值的数组

来自分类Dev

如何用数组过滤对象数组

来自分类Dev

使用数组过滤表

来自分类Dev

基于Javascript中的第二个对象数组过滤对象数组1(UnderscoreJS)

来自分类Dev

如何使用数组过滤器在数组内的对象内查找值,然后更改/编辑该值?

来自分类Dev

将对象数组过滤为对象

来自分类Dev

尝试使用数组过滤对象时失败