2017-12-08 10 views
-1

日付の配列のリストに基づいて合計日付差を計算しようとしています。私のサンプル入力:[![ここに画像の説明を入力] [1]]JavaScriptは配列からの日付の差分の合計を計算します

は、[1]ここで

は私のコードです:

//removed 

私はそれぞれに基づいて、日付の差異を計算しようとしています年齢層。私の年齢グループの配列は[>=80, 70-79, 60-69, 50-59, 40-49, 30-39, 20-29, 10-19, 0-9]です。

だから、サンプル入力から、年齢37、34、32、39、39と5つのレコードのために、私はそれらの5の間の日付の差を計算する必要があります。比較する他のレコードを持っていない11歳については、私は単に0

上記のコードに問題があるため、日付差を設定することができますが、私は単純に考慮に年齢層を考慮せず、日付の差を計算。

これを変更する方法任意のアイデア?ありがとう!

+0

配列だけでなく、希望の結果を追加してください。 –

+0

ライブデモを共有しますか? – C2486

+0

私はどこかでここに配列の忍者のにおいができます:) – sabithpocker

答えて

0
var group = { 
    "8": ">=80", 
    "7": "70-79", 
    "6": "60-69", 
    "5": "50-59", 
    "4": "40-49", 
    "3": "30-39", 
    "2": "20-29", 
    "1": "10-19", 
    "0": "0-9" 
} 


for (var i = 0; i < sortedDate.length - 1; i++) { 
    // get index position in ageGroup 
    var age = sortedDate[i].age; 
    ageIndex = Math.floor(age/10); 
    ageIndex = ageIndex > 8 ? 8 : ageIndex; 
    var date1 = new Date(sortedDate[i].date); 
    var date2 = new Date(sortedDate[i + 1].date); 
    var timeDiff = Math.abs(date2.getTime() - date1.getTime()); 
    var diffDay = Math.ceil(timeDiff/(1000 * 3600 * 24)); 

    datearr[group[ageIndex]] += diffDay; 
} 
+0

申し訳ありませんが、それは何ですか? – guest176969

+0

差分配列 –

+0

を作成しているときにグループを考慮する必要がありません。うまくいきません。今では日付の差はすべて0になります – guest176969

関連する問題