2017-01-13 2 views
-3

に会うときの値を結合し、配列を考えてみます。は、値がループ

var arr = [ 
{ val: 12, timestamp: 'Thu Jan 12 2017 02:00:00 GMT+0100 (CET)'}, 
{ val: 54, timestamp: 'Thu Jan 12 2017 02:00:00 GMT+0100 (CET)'}, 
{ val: 34, timestamp: 'Thu Jan 13 2017 02:00:00 GMT+0100 (CET)'}, 
{ val: 21, timestamp: 'Thu Jan 13 2017 02:00:00 GMT+0100 (CET)'}]; 

iはどこのタイムスタンプの出会いを見つける、とvalを合計する何を使うべきでしょうか? はので、私はループにしようとした

result: [ 
{ val: 66, timestamp: 'Thu Jan 12 2017 02:00:00 GMT+0100 (CET)' } 
.... 
] 

なるだろうが、私はどのようにグループに知っていて、マージすることはできませんか?

+1

私達にあなたのループを表示します –

答えて

0

以下のスニペットを確認すると、そのアイデアが得られます。

var arr = [ 
 
{ val: 12, timestamp: 'Thu Jan 12 2017 02:00:00 GMT+0100 (CET)'}, 
 
{ val: 54, timestamp: 'Thu Jan 12 2017 02:00:00 GMT+0100 (CET)'}, 
 
{ val: 34, timestamp: 'Thu Jan 13 2017 02:00:00 GMT+0100 (CET)'}, 
 
{ val: 21, timestamp: 'Thu Jan 13 2017 02:00:00 GMT+0100 (CET)'}]; 
 

 
var sumArr = []; 
 

 
arr.forEach(function(element) { 
 
    var sumElement = sumArr.find(function(sumElement) { 
 
    return sumElement.timestamp == element.timestamp; 
 
    }); 
 
    if(sumElement) { 
 
    sumElement.val += element.val; 
 
    } else { 
 
    sumArr.push(element); 
 
    } 
 
}); 
 

 
console.log(sumArr);

関連する問題