5 回答
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)
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);
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)
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);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)
添加回答
舉報
