鍍金池/ 問答/Java  HTML/ js 判斷json數(shù)據(jù)位置問題

js 判斷json數(shù)據(jù)位置問題

clipboard.png

現(xiàn)在返回的數(shù)據(jù)結(jié)構(gòu)是這樣的

現(xiàn)在的需求是獲取當(dāng)前的時(shí)間戳 判斷是否在數(shù)據(jù)列表哪個(gè)時(shí)間段內(nèi) 接著判斷用戶是否在這個(gè)時(shí)間段內(nèi) 不在這個(gè)時(shí)間段其他時(shí)段是否有該用戶 有的話在那個(gè)時(shí)間段

這個(gè)判斷該怎么寫呢請(qǐng)問

回答
編輯回答
乞許

你這個(gè)邏輯有點(diǎn)復(fù)雜 歸根結(jié)底是判斷用戶是否在某個(gè)時(shí)間段內(nèi)
所以反過來判斷 先找出用戶的時(shí)間段 然后根據(jù)當(dāng)前時(shí)間戳判斷

var username = "aaa";
function inTimeSlot(arr,username){
    var timestamp = Date.parse(new Date());//js獲取的都是到毫秒 我看你的數(shù)據(jù)是10位,這個(gè)要把后三位截掉
    for(var i=0;i<arr.length;i++){
            for(var j=0;arr[i].user_list.length;j++){
                if(username==arr[i].user_list[j].user.username){//找到用戶在那個(gè)時(shí)間段內(nèi)
                    if(timestamp>=arr[i].start_at&&timestamp<=arr[i].end_at){
                        return {in_now_time:true,data:arr[i]} //在當(dāng)前時(shí)間段內(nèi)
                    }else{
                        return {in_now_time:false,data:arr[i]}//不在當(dāng)前時(shí)間段內(nèi)
                       }
                }
            }
        }
    }
}
2018年9月23日 17:02
編輯回答
黑與白

獲取當(dāng)前時(shí)間戳,判斷是否大于開始時(shí)間和小于結(jié)束時(shí)間,都滿足就成立了。
let time =new Date().getTime();
if(obj.start_at<time<obj.end_at){

//滿足條件

}

2017年7月29日 01:35