亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

js校驗(yàn)多段時(shí)間不重合

Blackjun / 917人閱讀

表單里要提交多段時(shí)間,要檢驗(yàn)每段時(shí)間不能有互相重合的時(shí)間段

多段時(shí)間原始格式如下(時(shí)、分、秒轉(zhuǎn)化為秒,或者時(shí)間戳):

var timeArray = [
        {start:"27890",off:"28790"}, 
        {start:"25530",off:"25556"}, 
        {start:"27000",off:"31589"},
        {start:"25550",off:"25560"},
     ]
1、數(shù)組比較法 1、將多段時(shí)間的開(kāi)始時(shí)間和結(jié)束時(shí)間分別組成兩個(gè)數(shù)組
var minTimes = []
var maxTimes = []
timeArray.map((v)=>{
 minTimes.push(v.start)  //多段開(kāi)始時(shí)間的數(shù)組 minTimes = ["27890", "25530", "27000", "25550"]
})
timeArray.map((v)=>{
 maxTimes.push(v.off)    //多段結(jié)束時(shí)間的數(shù)組 maxTimes = ["28790", "25556", "31589", "25560"]
})
2、將minTimes和maxTimes數(shù)組元素分別從大到小排序

相當(dāng)于時(shí)間段從小到大重排

minTimes.sort()  // minTimes = ?["25530", "25550", "27000", "27890"]
maxTimes.sort()  // maxTimes = ?["25556", "25560", "28790", "31589"]
3、比較maxTimes[index]和minTimes[index+1],即看結(jié)束時(shí)間是否永遠(yuǎn)比開(kāi)始時(shí)間小

從index=1開(kāi)始比較,如果maxTimes[index]的值比minTimes[index+1]小,說(shuō)明時(shí)間段不會(huì)重合,以此類(lèi)推比較,如果沒(méi)有出現(xiàn)maxTimes[index] > minTimes[inex+1]的情況,則沒(méi)有時(shí)間段發(fā)生重合,如果存在一次maxTimes[index] > minTimes[inex+1],則時(shí)間段重合

2、對(duì)象比較法 1、timeArray的每一項(xiàng)按開(kāi)始時(shí)間從小到大排序

保證每段時(shí)間的開(kāi)始時(shí)間都比上一段時(shí)間開(kāi)始時(shí)間小

var temp
for(var i = 0; i < timeArray.length - 1; i++) { 
    for(var j = i + 1; j < timeArray.length; j++){ 
        if(timeArray[i].start > timeArray[j].start){
             temp = timeArray[i]
             timeArray[i] = timeArray[j]
             timeArray[j] = temp
            }
        }
     }     //timeArray = [
           //              {start: "25530", off: "25556"},
           //              {start: "25550", off: "25560"},
           //              {start: "27000", off: "31589"},
           //              {start: "27890", off: "28790"}
           //             ]
2、前一段的結(jié)束時(shí)間與后一段的結(jié)束時(shí)間比較,若后一段的結(jié)束時(shí)間永遠(yuǎn)小于前一段的開(kāi)始時(shí)間,則時(shí)間算段沒(méi)有沖突

好處:能知道沖突的時(shí)間段是哪幾段

for(var i = 0;i
總結(jié)

第一種方法是將時(shí)間段都拆分了,相當(dāng)于將多段時(shí)間從小到大從新排序,但是沒(méi)有很?chē)?yán)謹(jǐn)?shù)倪壿嬜C明這種方法是正確的,但暫時(shí)也想不出這種方法存在錯(cuò)誤的反例

第二種方法相當(dāng)于把時(shí)間段按照開(kāi)始時(shí)間從新排序,時(shí)間段并沒(méi)有被拆分,如果時(shí)間段不沖突,那么肯定有每一段的前一段結(jié)束時(shí)間小于當(dāng)前段的開(kāi)始時(shí)間,反之,如果當(dāng),每一段當(dāng)前段的開(kāi)始時(shí)間都小于前一段的結(jié)束時(shí)間,則時(shí)間段不沖突,是充分必要條件,所以我覺(jué)得第二種方法有較嚴(yán)謹(jǐn)?shù)倪壿嬓裕刹捎谩?/p>

以上兩種方法的前提是,保證每一段的結(jié)束時(shí)間都要比開(kāi)始時(shí)間大

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/109315.html

相關(guān)文章

  • 單頁(yè)面應(yīng)用里同時(shí)埋放多段百度統(tǒng)計(jì)的訪(fǎng)問(wèn)分析代碼——實(shí)戰(zhàn)

    摘要:背景單頁(yè)面應(yīng)用使用百度統(tǒng)計(jì)需要使用和用來(lái)統(tǒng)計(jì)每個(gè)頁(yè)面的訪(fǎng)問(wèn)應(yīng)用里如果同時(shí)埋放多段百度統(tǒng)計(jì)的訪(fǎng)問(wèn)分析代碼又需要使用。但是如果單頁(yè)面應(yīng)用里又同時(shí)埋放多段百度統(tǒng)計(jì)的訪(fǎng)問(wèn)分析代碼該如何處理呢引入方式直接呈上代碼,注意事項(xiàng)都寫(xiě)在注釋里了。 背景 單頁(yè)面應(yīng)用使用百度統(tǒng)計(jì)需要使用_trackPageview和_setAutoPageview API用來(lái)統(tǒng)計(jì)每個(gè)頁(yè)面的訪(fǎng)問(wèn), 應(yīng)用里如果同時(shí)埋放多段百度...

    AdolphLWQ 評(píng)論0 收藏0
  • 合理利用瀏覽器緩存

    摘要:當(dāng)我們第一次或者打開(kāi)百度,我們會(huì)發(fā)現(xiàn)加載的請(qǐng)求響應(yīng)字段如下由于是第一次或者強(qiáng)制刷新打開(kāi)的,所以瀏覽器會(huì)忽略緩存,直接向服務(wù)器發(fā)送請(qǐng)求加載資源,圖中畫(huà)框的那幾個(gè)字段是與緩存相關(guān)的。 合理利用緩存概述:本章主要討論了兩方面的內(nèi)容。1. 瀏覽器緩存機(jī)制。 2. web實(shí)踐中如何有效利用這些緩存瀏覽器緩存機(jī)制 作為web開(kāi)發(fā)人員經(jīng)常遇到的問(wèn)題之一就是我明明修復(fù)并且部署了這個(gè)BUG為什么線(xiàn)上有的...

    whatsns 評(píng)論0 收藏0
  • 合理利用瀏覽器緩存

    摘要:當(dāng)我們第一次或者打開(kāi)百度,我們會(huì)發(fā)現(xiàn)加載的請(qǐng)求響應(yīng)字段如下由于是第一次或者強(qiáng)制刷新打開(kāi)的,所以瀏覽器會(huì)忽略緩存,直接向服務(wù)器發(fā)送請(qǐng)求加載資源,圖中畫(huà)框的那幾個(gè)字段是與緩存相關(guān)的。 合理利用緩存概述:本章主要討論了兩方面的內(nèi)容。1. 瀏覽器緩存機(jī)制。 2. web實(shí)踐中如何有效利用這些緩存瀏覽器緩存機(jī)制 作為web開(kāi)發(fā)人員經(jīng)常遇到的問(wèn)題之一就是我明明修復(fù)并且部署了這個(gè)BUG為什么線(xiàn)上有的...

    zhichangterry 評(píng)論0 收藏0
  • ArcGis for JavaScript SDK

    ArcGis for JavaScript SDK 作者:BLUE日期:2019-07-09 描述:arcgis for js 開(kāi)發(fā)包,基于arcgis for js 3.9 點(diǎn)擊【這里】下載SDK 該開(kāi)發(fā)包是基于arcgis for javascript 3.9,是對(duì)原始API的一個(gè)擴(kuò)充,原始API正常使用,該SDK僅封裝了開(kāi)發(fā)過(guò)程中常用的方法,開(kāi)發(fā)包內(nèi)使用瓦片下載的方式對(duì)全國(guó)天地圖底圖進(jìn)行加...

    maybe_009 評(píng)論0 收藏0
  • 通過(guò)li-canvas輕松實(shí)現(xiàn)單圖、多圖、圓角圖繪制,單行文字、多行文字、豎向文字繪制,自動(dòng)換行,保

    摘要:新增的是個(gè)強(qiáng)大的功能,估計(jì)大家平時(shí)都會(huì)用到,只是頻率不高,偶爾用它合成圖片,但是如果不進(jìn)行封裝的話(huà),代碼會(huì)很亂,所以對(duì)常用的畫(huà)圖繪制文字保存功能進(jìn)行了封裝,目前還比較滿(mǎn)意,能夠快速完成繪圖任務(wù),從容應(yīng)對(duì)需求變更,只需進(jìn)行簡(jiǎn)單配置即可。 Html5新增的canvas是個(gè)強(qiáng)大的功能, 估計(jì)大家平時(shí)都會(huì)用到,只是頻率不高,偶爾用它合成圖片,但是如果不進(jìn)行封裝的話(huà),代碼會(huì)很亂,所以對(duì)canva...

    source 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<