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

我想根据两个日期过滤嵌套数组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",

      }]


梦里花落0921
浏览 76回答 1
1回答

守候你守候我

尝试这个    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));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript