Commit 61b960f8 authored by l2m2's avatar l2m2

upload

parent 0a5abf3b
var _ = require("lodash"); var _ = require("lodash");
var arr = [
{ name: 'A', a: 1, b: 2 }, var analysis_state_data = [
{ name: 'A', a: 2, b: 3 }, { "start_time": "2020-05-12 12:58:29", "end_time": "2020-05-12 13:02:06"},
{ name: 'B', a: 1, b: 2 }, { "start_time": "2020-05-12 13:02:06", "end_time": "2020-05-12 13:08:08"},
{ name: 'C', a: 4, b: 5 }, { "start_time": "2020-05-12 13:08:08", "end_time": "2020-05-12 13:08:21"},
{ name: 'C', a: 5, b: 6 }, { "start_time": "2020-05-12 13:08:08", "end_time": "2020-05-12 13:08:26"},
{ name: 'C', a: 1, b: 1 }, { "start_time": "2020-05-12 13:08:21", "end_time": "2020-05-12 13:08:57"},
{ name: 'D', a: 7, b: 8 } { "start_time": "2020-05-12 13:09:43", "end_time": "2020-05-12 13:10:10"}
]; ];
var r = _.chain(arr).reduce(function(prev, curr){ analysis_state_data = _.reduce(analysis_state_data, function(prev, curr, index){
if (_.has(prev, curr.name)) { if (prev.length > 0) {
var temp = prev[curr.name]; if (curr.start_time == prev[prev.length - 1].start_time) {
temp.a = temp.a + curr.a; prev[prev.length - 1] = curr;
temp.b = temp.b + curr.b; } else {
} else { prev.push(curr);
prev[curr.name] = curr; }
} } else {
return prev; prev.push(curr);
}, {}).values().value(); }
return prev;
}, []);
print(JSON.stringify(r, null, ' ')); print(JSON.stringify(analysis_state_data, null, ' '));
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment