亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何根據日期屬性之間的范圍是否包含給定日期來過濾對象數組?

如何根據日期屬性之間的范圍是否包含給定日期來過濾對象數組?

心有法竹 2022-12-02 16:06:30
如何根據日期范圍是否包含特定日期來過濾日期范圍?let visitors = [{  "S.NO": 1,  "Full Name": "Boss",  "Check In": "2020-04-21 01:51:49",  "Check Out": ""}, {  "S.NO": 2,  "Full Name": "John",  "Check In": "2020-04-19 11:21:17",  "Check Out": "2020-04-19 12:21:26"}, {  "S.NO": 3,  "Full Name": "Doll",  "Check In": "2020-04-02 11:19:48",  "Check Out": "2020-04-02 15:19:58"}];我想在以下日期之前過濾上面的數據:let knowntime = "2020-04-02 13:20:22";這是我正在尋找的結果:let filtered = [{  "S.NO": 3,  "Full Name": "Doll",  "Check In": "2020-04-02 11:19:48",  "Check Out": "2020-04-02 15:19:58"}];我怎么做?
查看完整描述

5 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

let visitors=[ { "S.NO": 1, "Full Name": "Boss", "Check In": "2020-04-21 01:51:49", "Check Out": "" }, { "S.NO": 2, "Full Name": "John", "Check In": "2020-04-19 11:21:17", "Check Out": "2020-04-19 12:21:26" }, { "S.NO": 3, "Full Name": "Doll", "Check In": "2020-04-02 11:19:48", "Check Out": "2020-04-02 15:19:58" } ];

let knowntime="2020-04-02 13:20:22";

res=visitors.filter(o => o["Check In"].localeCompare(knowntime) < 0 && o["Check Out"].localeCompare(knowntime)>0)

console.log(res)


查看完整回答
反對 回復 2022-12-02
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

let visitors=[

  {

    "S.NO": 1,

    "Full Name": "Boss",

    "Check In": "2020-04-21 01:51:49",

    "Check Out": ""

  },

  {

    "S.NO": 2,

    "Full Name": "John",

    "Check In": "2020-04-19 11:21:17",

    "Check Out": "2020-04-19 12:21:26"

  },

  {

    "S.NO": 3,

    "Full Name": "Doll",

    "Check In": "2020-04-02 11:19:48",

    "Check Out": "2020-04-02 15:19:58"

  }

];

let knowntime="2020-04-02 13:20:22";

const dateToBeFiltered=new Date(knowntime);

const filterdVisitors= visitors.filter((elem)=>{


const checinTime=new Date(elem["Check In"]);

const checkOutTime=new Date(elem["Check Out"]);

return (checinTime<=dateToBeFiltered && dateToBeFiltered<=checkOutTime);


});

console.log(filterdVisitors);


查看完整回答
反對 回復 2022-12-02
?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

從數據中可以清楚地看出,結賬時間可能有空值。如果它是空的,您是否應該考慮 Check Out 大于給定時間。


這是代碼


   let visitors = [

  {

    "S.NO": 1,

    "Full Name": "Boss",

    "Check In": "2020-04-21 01:51:49",

    "Check Out": ""

  },

  {

    "S.NO": 2,

    "Full Name": "John",

    "Check In": "2020-04-19 11:21:17",

    "Check Out": "2020-04-19 12:21:26"

  },

  {

    "S.NO": 3,

    "Full Name": "Doll",

    "Check In": "2020-04-02 11:19:48",

    "Check Out": "2020-04-02 15:19:58"

  }

];

let knowntime = "2020-04-02 13:20:22";


let filteredVisitors =  visitors.filter((visitor) => {

  return (new Date(visitor['Check In']) <= new Date(knowntime) && (visitor['Check Out'] === '' || new Date(visitor['Check Out']) >= new Date(knowntime)))

})


console.log(filteredVisitors)


查看完整回答
反對 回復 2022-12-02
?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

let visitors = [{

  "S.NO": 1,

  "Full Name": "Boss",

  "Check In": "2020-04-21 01:51:49",

  "Check Out": ""

}, {

  "S.NO": 2,

  "Full Name": "John",

  "Check In": "2020-04-19 11:21:17",

  "Check Out": "2020-04-19 12:21:26"

}, {

  "S.NO": 3,

  "Full Name": "Doll",

  "Check In": "2020-04-02 11:19:48",

  "Check Out": "2020-04-02 15:19:58"

}];


let knowntime = "2020-04-02 13:20:22";


let filtered = visitors.filter(visitor => {

  return visitor['Check In'] < knowntime && visitor['Check Out'] > knowntime;

});


console.log(filtered);

您也可以像這樣寫一個單行代碼:

let filtered = visitors.filter(({ ['Check In']: a, ['Check Out']: b }) => a < knowntime && b > knowntime);



查看完整回答
反對 回復 2022-12-02
?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

要過濾訪問者數據,首先確保兩個屬性都包含值,然后將值轉換為日期格式new Date(),然后進行比較。


   let visitors = [

      {

        "S.NO": 1,

        "Full Name": "Boss",

        "Check In": "2020-04-21 01:51:49",

        "Check Out": ""

      },

      {

        "S.NO": 2,

        "Full Name": "John",

        "Check In": "2020-04-19 11:21:17",

        "Check Out": "2020-04-19 12:21:26"

      },

      {

        "S.NO": 3,

        "Full Name": "Doll",

        "Check In": "2020-04-02 11:19:48",

        "Check Out": "2020-04-02 15:19:58"

      }

    ];

    let knowntime = "2020-04-02 13:20:22";


    let filteredVisitors =  visitors.filter((visitor) => {

      return (visitor['Check In'] && visitor['Check Out'] &&

        (new Date(visitor['Check In']) <= new Date(knowntime) && new Date(visitor['Check Out']) >= new Date(knowntime)))

    })


    console.log(filteredVisitors)


查看完整回答
反對 回復 2022-12-02
  • 5 回答
  • 0 關注
  • 209 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號