2016-05-04 13 views
0

私は、HTTPリクエストから予定の時刻と日付を取得するコードのこの部分があります、私の質問がある多次元角度アレイ

[ '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' ] 

種類にそれが可能である:私の結果は

$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); 
         }) 

をこのデータをグループ化して、予定が既に存在するかどうかを確認できますか?その日の1時間以内に予定がある場合は、エラーを表示したいと考えています。

このように、日付は内部に時刻を含む配列ですか?私はそれは以下の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

どのような条件に基づいてメイン配列をグループ化する必要がありますか? –

+0

日付ですので、私は新しい予定を作成するときに、その日付の時間が利用可能かどうかを確認することができます –

+0

あなたの.foreach内には、アイテムの日付を探し出すロジックを追加しました(既に持っています)特定のアイテムが任意の予定の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);