オブジェクト内のプロパティの合計期間を計算します

user21

array [0]に次のオブジェクトがあります。

var arr[0]=
[
 {
   "startTime": "1300",
    "endTime": "1700",
    "eventName": "Sleep",
     "end_datetime": "20180510M0100", 
     "start_datetime": "20180509M2300", 
 },
 {
    "startTime": "0800",
    "endTime": "1200", 
    "eventName": "Breakfast",
     "end_datetime": "20180507M1200", 
     "start_datetime": "20180507M0800", 
 },
 {
   "startTime": "1300",
    "endTime": "1400",
    "eventName": "Lesson",
    "end_datetime": "20180507M1400", 
     "start_datetime": "20180507M1300", 
 },
 {
    "startTime": "1300",
    "endTime": "1700",
    "eventName": "Ski",
    "end_datetime": "20180511M170000", 
    "start_datetime": "20180511M130000",
 } 
]

end_datatimeの形式はyyyymmddMhhmmssです(最初の4桁は年、その後に月、日、区切り文字「M」、時間、分、秒が続きます。

すべてのイベントの合計期間を計算したいですか?(合計11時間、つまり睡眠2時間+朝食4時間+レッスン1時間+スキー4時間)

特定のパフォーマンス

複数日にわたる時間を考慮した、可能な実装の1つを次に示します。

const input = [{
    "startTime": "1300",
    "endTime": "1700",
    "eventName": "Sleep",
    "end_datetime": "20180510M0100",
    "start_datetime": "20180509M2300",
  },
  {
    "startTime": "0800",
    "endTime": "1200",
    "eventName": "Breakfast",
    "end_datetime": "20180507M1200",
    "start_datetime": "20180507M0800",
  },
  {
    "startTime": "1300",
    "endTime": "1400",
    "eventName": "Lesson",
    "end_datetime": "20180507M1400",
    "start_datetime": "20180507M1300",
  },
  {
    "startTime": "1300",
    "endTime": "1700",
    "eventName": "Ski",
    "end_datetime": "20180511M170000",
    "start_datetime": "20180511M130000",
  }
];

function getDiff(datestr1, datestr2) {
  const m1 = moment(datestr1, 'YYYYMMDD*hhmm');
  const m2 = moment(datestr2, 'YYYYMMDD*hhmm');
  const minuteDifference = m2.diff(m1, 'minutes');
  return minuteDifference;
}
const totalMinutes = input.reduce(
  (accum, {
    end_datetime,
    start_datetime
  }) => accum + getDiff(start_datetime, end_datetime),
  0
);
const totalHours = totalMinutes / 60;
console.log(totalMinutes + ' minutes = ' + totalHours + ' hours');
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

配列内のオブジェクトのすべてのプロパティを合計します

分類Dev

特定のプロパティでオブジェクトの配列の合計を計算するreturnNaN

分類Dev

モーメントjsを使用して、配列内のすべてのオブジェクトのすべての期間の合計を計算します

分類Dev

オブジェクトプロパティの合計を計算し、それらを配列に格納します

分類Dev

オブジェクトの配列内の特定のプロパティのJavaScriptで平均を計算する方法

分類Dev

動的に生成された別のオブジェクトのプロパティに基づいて、オブジェクトのプロパティの値の合計を計算します

分類Dev

リスト内のプロパティの合計を計算します

分類Dev

配列内の複数のプロパティでオブジェクトをグループ化し、それらの値を合計します

分類Dev

プロパティに基づいて複数のオブジェクトを配列に合計します

分類Dev

オブジェクトのプロパティを合計できません

分類Dev

動的支柱オブジェクトの計算プロパティ

分類Dev

EntityFramework-参照オブジェクトのプロパティを合計する

分類Dev

オブジェクトのプロパティ値を合計する方法は?

分類Dev

オブジェクト内の配列プロパティの長さを合計する方法

分類Dev

配列内のオブジェクトプロパティの合計

分類Dev

計算されたプロパティから返された配列内のオブジェクトを編集しています

分類Dev

1つのプロパティの加重平均と別のプロパティの合計を含むオブジェクトを生成します

分類Dev

javascriptオブジェクトのプロパティを計算して出力する方法

分類Dev

オブジェクトの配列をプロパティオブジェクトごとの合計に減らします

分類Dev

「in」プロパティを使用してオブジェクトにキーが存在するかどうかを確認するための時間計算量

分類Dev

他のプロパティに基づいてオブジェクトリテラルでオブジェクトプロパティを計算する方法

分類Dev

AngularJsを使用してオブジェクトの配列内のプロパティの値を合計する方法

分類Dev

Vueはオブジェクトを計算されたプロパティとして拡散します

分類Dev

計算されたオブジェクト内のオブジェクトプロパティを取得すると、オブジェクト自体ではなく未定義になるのはなぜですか?このコンテキストでは、どちらのアプローチが適していますか?

分類Dev

オブジェクトのプロパティの合計でオブジェクトの配列を並べ替えます

分類Dev

Vue計算プロパティはデータオブジェクトを変更します

分類Dev

Angular2-オブザーバーから送信されたオブジェクトのプロパティの値を合計します

分類Dev

オブジェクトの配列をフィルタリングし、Swiftでそれらのプロパティを合計します

分類Dev

類似性のパーセンテージを計算するか、3つ以上のオブジェクト間の相関を計算します

Related 関連記事

  1. 1

    配列内のオブジェクトのすべてのプロパティを合計します

  2. 2

    特定のプロパティでオブジェクトの配列の合計を計算するreturnNaN

  3. 3

    モーメントjsを使用して、配列内のすべてのオブジェクトのすべての期間の合計を計算します

  4. 4

    オブジェクトプロパティの合計を計算し、それらを配列に格納します

  5. 5

    オブジェクトの配列内の特定のプロパティのJavaScriptで平均を計算する方法

  6. 6

    動的に生成された別のオブジェクトのプロパティに基づいて、オブジェクトのプロパティの値の合計を計算します

  7. 7

    リスト内のプロパティの合計を計算します

  8. 8

    配列内の複数のプロパティでオブジェクトをグループ化し、それらの値を合計します

  9. 9

    プロパティに基づいて複数のオブジェクトを配列に合計します

  10. 10

    オブジェクトのプロパティを合計できません

  11. 11

    動的支柱オブジェクトの計算プロパティ

  12. 12

    EntityFramework-参照オブジェクトのプロパティを合計する

  13. 13

    オブジェクトのプロパティ値を合計する方法は?

  14. 14

    オブジェクト内の配列プロパティの長さを合計する方法

  15. 15

    配列内のオブジェクトプロパティの合計

  16. 16

    計算されたプロパティから返された配列内のオブジェクトを編集しています

  17. 17

    1つのプロパティの加重平均と別のプロパティの合計を含むオブジェクトを生成します

  18. 18

    javascriptオブジェクトのプロパティを計算して出力する方法

  19. 19

    オブジェクトの配列をプロパティオブジェクトごとの合計に減らします

  20. 20

    「in」プロパティを使用してオブジェクトにキーが存在するかどうかを確認するための時間計算量

  21. 21

    他のプロパティに基づいてオブジェクトリテラルでオブジェクトプロパティを計算する方法

  22. 22

    AngularJsを使用してオブジェクトの配列内のプロパティの値を合計する方法

  23. 23

    Vueはオブジェクトを計算されたプロパティとして拡散します

  24. 24

    計算されたオブジェクト内のオブジェクトプロパティを取得すると、オブジェクト自体ではなく未定義になるのはなぜですか?このコンテキストでは、どちらのアプローチが適していますか?

  25. 25

    オブジェクトのプロパティの合計でオブジェクトの配列を並べ替えます

  26. 26

    Vue計算プロパティはデータオブジェクトを変更します

  27. 27

    Angular2-オブザーバーから送信されたオブジェクトのプロパティの値を合計します

  28. 28

    オブジェクトの配列をフィルタリングし、Swiftでそれらのプロパティを合計します

  29. 29

    類似性のパーセンテージを計算するか、3つ以上のオブジェクト間の相関を計算します

ホットタグ

アーカイブ