为了账号安全,请及时绑定邮箱和手机立即绑定

如何过滤嵌套数组并计算时间差

如何过滤嵌套数组并计算时间差

梦里花落0921 2022-07-15 10:18:48
我想根据两个日期过滤嵌套数组2020-04-24,2020-04-25我想知道每个名字的每一天的“输入”和“输出”之间的小时数差异。const databases =  [{  name: 'Mark',  time: [{    "date": "2020-04-23T00:14:03.217Z",    "nature": "In",    },    {    "date": "2020-04-23T15:14:03.217Z",    "nature": "Out",    },    {    "date": "2020-04-24T00:14:03.217Z",    "nature": "In",    },    {    "date": "2020-04-24T15:14:03.217Z",    "nature": "Out",    },    {    "date": "2020-04-25T00:14:03.217Z",    "nature": "In",    },    {    "date": "2020-04-25T15:14:03.217Z",    "nature": "Out",    },    {    "date": "2020-04-26T080:14:03.217Z",    "nature": "In",    },    {    "date": "2020-04-26T15:14:03.217Z",    "nature": "Out",    }]  },  {    name: 'David',    time: [{      "date": "2020-04-23T08:14:03.217Z",      "nature": "In",      },      {      "date": "2020-04-23T15:14:03.217Z",      "nature": "Out",      },      {      "date": "2020-04-24T10:14:03.217Z",      "nature": "In",      },      {      "date": "2020-04-24T15:14:03.217Z",      "nature": "Out",      },      {      "date": "2020-04-26T10:14:03.217Z",      "nature": "In",      },      {      "date": "2020-04-26T15:14:03.217Z",      "nature": "Out",      },      {      "date": "2020-04-27T10:10:03.217Z",      "nature": "In",      },      {      "date": "2020-04-27T15:14:03.217Z",      "nature": "Out",      }]
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

尝试这个


    const moment = require('moment');


    const databases = [

        {

            name: 'Mark',

            time: [

                {

                    "date": "2020-04-23T00:14:03.217Z",

                    "nature": "In",

                },

                {

                    "date": "2020-04-23T15:14:03.217Z",

                    "nature": "Out",

                },

                {

                    "date": "2020-04-24T00:14:03.217Z",

                    "nature": "In",

                },

                {

                    "date": "2020-04-24T15:14:03.217Z",

                    "nature": "Out",

                },

                {

                    "date": "2020-04-25T00:14:03.217Z",

                    "nature": "In",

                },

                {

                    "date": "2020-04-25T15:14:03.217Z",

                    "nature": "Out",

                },

                {

                    "date": "2020-04-26T08:14:03.217Z",

                    "nature": "In",

                },

                {

                    "date": "2020-04-26T15:14:03.217Z",

                    "nature": "Out",

                }]

        },

        {

            name: 'David',

            time: [

                {

                    "date": "2020-04-23T08:14:03.217Z",

                    "nature": "In",

                },

                {

                    "date": "2020-04-23T15:14:03.217Z",

                    "nature": "Out",

                },

                {

                    "date": "2020-04-24T10:14:03.217Z",

                    "nature": "In",

                },

                {

                    "date": "2020-04-24T15:14:03.217Z",

                    "nature": "Out",

                },

                {

                    "date": "2020-04-26T10:14:03.217Z",

                    "nature": "In",

                },

                {

                    "date": "2020-04-26T15:14:03.217Z",

                    "nature": "Out",

                },

                {

                    "date": "2020-04-27T10:10:03.217Z",

                    "nature": "In",

                },

                {

                    "date": "2020-04-27T15:14:03.217Z",

                    "nature": "Out",

                }

            ]

        }

    ]



    const databases1 = databases.map((t) => { 

        const time = t.time.filter(d =>  {

            return moment(d.date).isBetween(moment('2020-04-24T16:00:00.000Z'), moment('2020-04-25T16:00:00.000Z'))

        });

        return { ...t, time }; 

    })


    console.log(JSON.stringify(databases1));



查看完整回答
反对 回复 2022-07-15
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信