console
var list = [{"item_id":100001,"data_type":-1,"action":6,"amt":-36566,"ut":1814},{"item_id":100001,"data_type":-1,"action":22,"amt":-154366,"ut":2247},{"item_id":100001,"data_type":-1,"action":24,"amt":-67794,"ut":566},{"item_id":100001,"data_type":-1,"action":27,"amt":-1080,"ut":7},{"item_id":100001,"data_type":-1,"action":46,"amt":-622,"ut":20},{"item_id":100001,"data_type":-1,"action":47,"amt":-13,"ut":0},{"item_id":100001,"data_type":-1,"action":48,"amt":-1,"ut":0},{"item_id":100001,"data_type":-1,"action":50,"amt":-14,"ut":0},{"item_id":100001,"data_type":-1,"action":51,"amt":-447,"ut":8},{"item_id":100001,"data_type":-1,"action":53,"amt":-2,"ut":0},{"item_id":100001,"data_type":-1,"action":55,"amt":-3,"ut":0},{"item_id":100001,"data_type":-1,"action":56,"amt":-18296,"ut":609},{"item_id":100001,"data_type":-1,"action":57,"amt":-703,"ut":23},{"item_id":100001,"data_type":-1,"action":58,"amt":-5,"ut":0},{"item_id":100001,"data_type":-1,"action":60,"amt":-587,"ut":19},{"item_id":100001,"data_type":-1,"action":61,"amt":-14474,"ut":289},{"item_id":100001,"data_type":-1,"action":62,"amt":-71,"ut":1},{"item_id":100001,"data_type":-1,"action":65,"amt":-210,"ut":4},{"item_id":100001,"data_type":-1,"action":200,"amt":-248140,"ut":4434},{"item_id":100001,"data_type":1,"action":0,"amt":21038,"ut":42},{"item_id":100001,"data_type":1,"action":10,"amt":437953,"ut":234},{"item_id":100001,"data_type":1,"action":12,"amt":27079,"ut":36},{"item_id":100001,"data_type":1,"action":19,"amt":104,"ut":1},{"item_id":100001,"data_type":1,"action":28,"amt":16,"ut":0},{"item_id":100001,"data_type":1,"action":29,"amt":9,"ut":0},{"item_id":100001,"data_type":1,"action":31,"amt":23,"ut":0},{"item_id":100001,"data_type":1,"action":44,"amt":953,"ut":2},{"item_id":100001,"data_type":1,"action":201,"amt":54000,"ut":5},{"item_id":100002,"data_type":-1,"action":4,"amt":-802,"ut":20},{"item_id":100002,"data_type":-1,"action":5,"amt":-2335,"ut":155},{"item_id":100002,"data_type":-1,"action":9,"amt":-86230,"ut":242},{"item_id":100002,"data_type":-1,"action":15,"amt":-104,"ut":9},{"item_id":100002,"data_type":-1,"action":25,"amt":-553,"ut":5},{"item_id":100002,"data_type":-1,"action":26,"amt":-76,"ut":0},{"item_id":100002,"data_type":-1,"action":33,"amt":-704,"ut":23},{"item_id":100002,"data_type":-1,"action":38,"amt":-5718,"ut":1},{"item_id":100002,"data_type":-1,"action":45,"amt":0,"ut":0},{"item_id":100002,"data_type":1,"action":0,"amt":1262,"ut":42},{"item_id":100002,"data_type":1,"action":8,"amt":51643,"ut":145},{"item_id":100002,"data_type":1,"action":12,"amt":2108,"ut":36},{"item_id":100002,"data_type":1,"action":201,"amt":45162,"ut":26}];
var list2 = [{"item_id":101,"amt":9644,"ut":160},{"item_id":102,"amt":15130,"ut":50},{"item_id":103,"amt":9649,"ut":7},{"item_id":104,"amt":1850,"ut":0},{"item_id":105,"amt":498,"ut":0},{"item_id":201,"amt":0,"ut":0},{"item_id":202,"amt":4000,"ut":13},{"item_id":203,"amt":1398,"ut":1},{"item_id":204,"amt":175,"ut":0},{"item_id":205,"amt":925,"ut":0},{"item_id":301,"amt":0,"ut":0},{"item_id":302,"amt":0,"ut":0},{"item_id":303,"amt":3,"ut":0},{"item_id":304,"amt":267,"ut":5},{"item_id":305,"amt":0,"ut":0},{"item_id":306,"amt":184,"ut":0},{"item_id":307,"amt":0,"ut":0},{"item_id":308,"amt":0,"ut":0},{"item_id":309,"amt":584,"ut":0},{"item_id":310,"amt":41917,"ut":1}];
var gold = _.filter(list, function (item) { return item.item_id == 100001 && item.data_type < 0 && item.action != 202 });
var diamond = _.filter(list, function (item) { return item.item_id == 100002 && item.data_type < 0 && item.action != 38 && item.action != 202 && item.action != 9 });
_.forEach(gold, function(item){
item.amt /133;
});
_.forEach(diamond, function(item){
item.amt /11;
});
var buyVipGetGolds = { 201: 0, 202: 2000, 203: 6000, 204: 12000, 205: 25000 };
var mergeCareers = { 34: 203, 35: 203, 36: 203, 37: 203, 46: 203, 47: 203, 48: 203, 49: 203, 50: 203, 51: 204, 52: 204, 53: 204, 54: 204, 55: 204, 56: 203, 57: 203, 58: 203, 59: 203, 60: 203, 61: 204, 62: 204, 63: 204, 64: 204, 65: 204 };
var store = _(list2)
.groupBy(function(item){
return 300+Math.floor(item.item_id/100);
})
.map((item, id) => ({
d: id,
amt: _.sumBy(item, 'amt'),
ut: _.sumBy(item, 'ut')
}))
.value();
var getGolds = _(list2)
.sumBy(function(item){
if (_.has(buyVipGetGolds, item.item_id)){
return buyVipGetGolds[item.item_id.toString()];
}else return 0;
});
var careers = _(list)
.groupBy(function(item){
if (_.has(mergeCareers, item.action)){
return mergeCareers[item.action];
}
})
.map((item, id) => ({
action: _.toInteger(id),
amt: _.sumBy(item, 'amt'),
ut: _.sumBy(item, 'ut')
}))
.reject({"action":0})
.value();
gold = _.reject(gold, function(item){
return _.has(mergeCareers, item.action);
})
diamond = _.reject(diamond, function(item){
return _.has(mergeCareers, item.action);
})
$("#output").html(JSON.stringify(_.concat(gold, diamond, careers)))
<div id="output"></div>