2015-10-15 36 views
0

我有這個巨大的數組,代表開始和結束時間。 (這延續了整整一週)。我還創建了一項新功能,它允許用戶有假期時間,在這些時間內他們可以改變工作時間......但是也可以在特定的一天中關門歇業。我遇到的問題是,當客戶選擇關閉一天時,大數組的日期變爲空白數組。使用循環來掃描大型數組中的不規則性。 JS

如果其中一個數組內的元素不返回任何內容,是否有觸發某些東西的有效方法?

[ 
    [], 
    [ 
     "2015-10-16T13:00:00Z", 
     "2015-10-16T21:00:00Z" 
    ], 
    [], 
    [ 
     "2015-10-18T13:00:00Z", 
     "2015-10-18T21:00:00Z" 
    ], 
    [ 
     "2015-10-19T05:00:00Z", 
     "2015-10-20T05:00:00Z" 
    ], 
    [ 
     "2015-10-20T13:00:00Z", 
     "2015-10-20T21:00:00Z" 
    ], 
    [ 
     "2015-10-21T13:00:00Z", 
     "2015-10-21T21:00:00Z" 
    ] 
] 

所以在這裏^^是我的大陣看起來當客戶選擇關閉一天等。

+1

谷歌爲 「MDN過濾器」,並在處理之前用你的陣列上。 –

+0

你是什麼意思「觸發東西」?如果你正在循環中處理整個數組,你可以測試當前元素是否具有'.length === 0',然後執行一些操作。如果你想刪除那些空的元素,你可以使用'.filter()'作爲已經建議。 – nnnnnn

回答

0

您可以使用.map並檢查x.length === 0條件。

(function() { 
 
    var data = [ 
 
    [], 
 
    [ 
 
     "2015-10-16T13:00:00Z", 
 
     "2015-10-16T21:00:00Z" 
 
    ], 
 
    [], 
 
    [ 
 
     "2015-10-18T13:00:00Z", 
 
     "2015-10-18T21:00:00Z" 
 
    ], 
 
    [ 
 
     "2015-10-19T05:00:00Z", 
 
     "2015-10-20T05:00:00Z" 
 
    ], 
 
    [ 
 
     "2015-10-20T13:00:00Z", 
 
     "2015-10-20T21:00:00Z" 
 
    ], 
 
    [ 
 
     "2015-10-21T13:00:00Z", 
 
     "2015-10-21T21:00:00Z" 
 
    ] 
 
    ]; 
 

 
    data.map(function(x, y) { 
 
    if (x.length === 0) { 
 
     console.log("There is no data in the position: " + y + "."); 
 
    } 
 
    }); 
 
})();