You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从含对象数组的对象数组中筛选指定员工ID的数据

筛选考勤数据中指定员工的条目并保留其信息

需求说明

从给定的考勤数组中,筛选出所有包含id:1员工的日期条目,且每个条目仅保留该员工的考勤信息。

输入示例

const attendance = [
        {
            date: 1,
            employees: [
                {
                    id: 1,
                    name: 'mahadev',
                    status: 'p'
                },
                {
                    id: 2,
                    name: 'roshan',
                    status: 'p'
                },

            ]
        },
        {
            date: 2,
            employees: [
                {
                    id: 1,
                    name: 'mahadev',
                    status: 'a'
                },
                {
                    id: 2,
                    name: 'roshan',
                    status: 'p'
                },

            ]
        },
    ];

期望输出

[
  {
    date:1,
    employees: [
      {
        id:1,
        name:'mahadev',
        status:'p'
      }       
    ]  
  },
  {
    date:2,
    employees: [
      {
        id:1,
        name:'mahadev',
        status:'a'
      }       
    ]  
  },
]

解决方案

可以通过map遍历每个日期条目,结合filter过滤出目标员工的信息,代码实现如下:

const filteredAttendance = attendance.map(item => ({
  ...item,
  employees: item.employees.filter(emp => emp.id === 1)
}));

代码说明

  • 使用map遍历原考勤数组的每个日期对象,生成新数组,避免直接修改原数据
  • 用扩展运算符...item保留原对象的date属性
  • 对每个对象的employees数组执行filter,仅保留id等于1的员工对象

运行上述代码后,即可得到符合要求的筛选结果。

内容的提问来源于stack exchange,提问作者Mahadev Mandal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 13:15:07