shuleijia 2023-01-14 14:16 采纳率: 53.3%
浏览 9
已结题

过滤对象中不满足的项

如何根据数组来过滤对象中符合的数据
const arr = ['home1', 'home2', 'home3', 'home4']

const obj = [
  {
    children: [
      {
        name: 'home1'
      },
      {
        name: 'home5'
      }
    ]
  },
  {
    children: [
      {
        name: 'home6'
      }
    ]
  },
  {
    children: [
      {
        name: 'home3'
      }
    ]
  }
]

将不满足的数据过滤掉变成

[
  {
    children: [
      {
        name: 'home1'
      }
    ]
  },
  {
    children: [
      {
        name: 'home3'
      }
    ]
  }
]

  • 写回答

2条回答 默认 最新

  • heart_6662 2023-01-14 14:23
    关注

    望采纳!!!点击回答右侧采纳即可!

    可以使用 Array.prototype.filter() 方法来过滤对象中符合的数据:

    
    const array = [1, 2, 3];
    const obj = {
      a: 1,
      b: 2,
      c: 3
    };
    const filteredObj = Object.keys(obj).filter(key => array.includes(obj[key])).reduce((acc, key) => {
      acc[key] = obj[key];
      return acc;
    }, {});
    console.log(filteredObj);
    // { a: 1, b: 2, c: 3 }
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月5日
  • 创建了问题 1月14日

悬赏问题

  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化