Commit 61b960f8 authored by l2m2's avatar l2m2

upload

parent 0a5abf3b
var _ = require("lodash");
var arr = [
{ name: 'A', a: 1, b: 2 },
{ name: 'A', a: 2, b: 3 },
{ name: 'B', a: 1, b: 2 },
{ name: 'C', a: 4, b: 5 },
{ name: 'C', a: 5, b: 6 },
{ name: 'C', a: 1, b: 1 },
{ name: 'D', a: 7, b: 8 }
var analysis_state_data = [
{ "start_time": "2020-05-12 12:58:29", "end_time": "2020-05-12 13:02:06"},
{ "start_time": "2020-05-12 13:02:06", "end_time": "2020-05-12 13:08:08"},
{ "start_time": "2020-05-12 13:08:08", "end_time": "2020-05-12 13:08:21"},
{ "start_time": "2020-05-12 13:08:08", "end_time": "2020-05-12 13:08:26"},
{ "start_time": "2020-05-12 13:08:21", "end_time": "2020-05-12 13:08:57"},
{ "start_time": "2020-05-12 13:09:43", "end_time": "2020-05-12 13:10:10"}
];
var r = _.chain(arr).reduce(function(prev, curr){
if (_.has(prev, curr.name)) {
var temp = prev[curr.name];
temp.a = temp.a + curr.a;
temp.b = temp.b + curr.b;
analysis_state_data = _.reduce(analysis_state_data, function(prev, curr, index){
if (prev.length > 0) {
if (curr.start_time == prev[prev.length - 1].start_time) {
prev[prev.length - 1] = curr;
} else {
prev.push(curr);
}
} else {
prev[curr.name] = curr;
prev.push(curr);
}
return prev;
}, {}).values().value();
}, []);
print(JSON.stringify(r, null, ' '));
\ No newline at end of file
print(JSON.stringify(analysis_state_data, null, ' '));
\ 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