2016-05-04 100 views
0

我有這樣一段代碼得到預約時間和日期從http請求:多維角度陣列

$scope.contents = data; 
     angular.forEach($scope.contents, function(item){ 
          item.Appointment = moment(item.Appointment).format('MM/DD/YYYY'); 
          var d = moment(item.Appointment).format('MM/DD/YYYY'); 
          var t = item.txtTime; 
          appointmentsArr.push(d + " " + t); 
         }) 

我的結果是:

[ '03/05/2016 4:29:00 PM', 
    '04/05/2016 11:23:00 AM', 
    '04/05/2016 11:22:00 AM', 
    '05/04/2016 10:52:00 AM', 
    '05/03/2016 9:36:00 AM', 
    '04/29/2016 12:53:00 PM', 
    '04/05/2016 11:19:00 AM', 
    '04/30/2016 12:54:00 AM', 
    '01/01/1900 12:00:00 AM', 
    '04/30/2016 8:52:00 AM' ] 

我的問題是,是否有可能來樣這組數據,以便我可以檢查預約是否已經存在?我想提出一個錯誤,如果有一個約會在該日期的一小時內的約會..

所以會日期是一個數組與內部的時間?我想像它會像下面的sudo?

[ [03/05/2016] 4:29:00 PM', 
    [04/05/2016] '11:23:00 AM,11:22:00 AM,12:53:00 PM' 
    [05/04/2016] 10:52:00 AM ] 

我怎麼能做到這一點?

+0

您需要根據什麼條件對Main數組進行分組? –

+0

日期,所以當我做一個新的約會,我可以檢查時間是否可用於該日期 –

+0

在您的.foreach內只需添加邏輯,將查找項目日期(已經擁有它),將給定項目上的所有約會日期和使用momentjs只是檢查給定的項目是否在任何約會的1小時範圍內的某個地方。 –

回答

1

您需要將日期作爲關鍵字推入數組。

$scope.contents = data; 
angular.forEach($scope.contents, function(item){ 
    var d = moment(item.Appointment).format('MM/DD/YYYY'); 
    var t = item.txtTime; 

    if(!appoinmentObj[d]){ 
    appoinmentObj[d] = []; 
    } 
    appoinmentObj[d].push(t); 
}); 
console.log(appoinmentObj);