SOURCE

var str = [{"company":"两湖街道办","classes":"县处级","money":0.3},{"company":"两湖街道办","classes":"县处级","money":0.3},{"company":"朱曲镇","classes":"县处级","money":0.3},{"company":"朱曲镇","classes":"县处级","money":0.3},{"company":"蔡庄镇","classes":"县处级","money":0.3},{"company":"蔡庄镇","classes":"县处级","money":0.3},{"company":"永兴镇","classes":"县处级","money":0.3},{"company":"永兴镇","classes":"县处级","money":0.3},{"company":"张市镇","classes":"市厅级","money":3},{"company":"张市镇","classes":"县处级","money":0.3},{"company":"张市镇","classes":"县处级","money":0.3},{"company":"张市镇","classes":"县处级","money":0.3},{"company":"十八里镇","classes":"县处级","money":0.3},{"company":"十八里镇","classes":"县处级","money":0.3},{"company":"十八里镇","classes":"县处级","money":0.3},{"company":"水坡镇","classes":"县处级","money":0.3},{"company":"水坡镇","classes":"县处级","money":0.3},{"company":"邢庄乡","classes":"市厅级","money":1},{"company":"邢庄乡","classes":"县处级","money":0.3},{"company":"邢庄乡","classes":"县处级","money":0.3},{"company":"邢庄乡","classes":"市厅级","money":3},{"company":"庄头镇","classes":"县处级","money":0.3},{"company":"门楼任乡","classes":"县处级","money":0.3},{"company":"门楼任乡","classes":"县处级","money":0.3},{"company":"大桥乡","classes":"县处级","money":0.3},{"company":"大桥乡","classes":"县处级","money":0.3},{"company":"大桥乡","classes":"县处级","money":0.3},{"company":"大桥乡","classes":"县处级","money":0.3},{"company":"大桥乡","classes":"市厅级","money":3},{"company":"南曹乡","classes":"县处级","money":0.3},{"company":"南曹乡","classes":"市厅级","money":3},{"company":"小陈乡","classes":"县处级","money":0.3},{"company":"小陈乡","classes":"县处级","money":0.3},{"company":"小陈乡","classes":"县处级","money":0.3},{"company":"先进制造业开发区","classes":"县处级","money":0.3},{"company":"先进制造业开发区","classes":"市厅级","money":1},{"company":"县委办","classes":"县处级","money":0.3},{"company":"深改办","classes":"县处级","money":0.3},{"company":"深改办","classes":"县处级","money":0.3},{"company":"检察院","classes":"县处级","money":0.3},{"company":"人武部","classes":"县处级","money":0.3},{"company":"宣传部","classes":"市厅级","money":2},{"company":"总工会","classes":"县处级","money":0.3},{"company":"乡村振兴局","classes":"县处级","money":0.3},{"company":"乡村振兴局","classes":"市厅级","money":2},{"company":"应急管理局","classes":"市厅级","money":1},{"company":"政数局","classes":"县处级","money":0.3},{"company":"农业农村局","classes":"县处级","money":0.3},{"company":"农业农村局","classes":"市厅级","money":3},{"company":"科工信局","classes":"县处级","money":0.3},{"company":"公路局","classes":"县处级","money":0.3},{"company":"供电公司","classes":"县处级","money":0.3},{"company":"市场监管局","classes":"县处级","money":0.3},{"company":"市场监管局","classes":"县处级","money":0.3},{"company":"市场监管局","classes":"县处级","money":0.3},{"company":"市场监管局","classes":"县处级","money":0.3},{"company":"市场监管局","classes":"市厅级","money":3},{"company":"发改委","classes":"县处级","money":0.3},{"company":"发改委","classes":"县处级","money":0.3},{"company":"发改委","classes":"县处级","money":0.3},{"company":"重点项目办","classes":"县处级","money":0.3},{"company":"住建局","classes":"市厅级","money":3},{"company":"城管局","classes":"县处级","money":0.3},{"company":"自然资源局","classes":"县处级","money":0.3},{"company":"生态环境局","classes":"县处级","money":0.3},{"company":"人社局","classes":"市厅级","money":3},{"company":"统计局","classes":"县处级","money":0.3},{"company":"司法局","classes":"县处级","money":0.3},{"company":"司法局","classes":"县处级","money":0.3},{"company":"民政局","classes":"县处级","money":0.3},{"company":"教体局","classes":"市厅级","money":1},{"company":"教体局","classes":"市厅级","money":3},{"company":"教体局","classes":"县处级","money":0.3},{"company":"教体局","classes":"县处级","money":0.3},{"company":"文广旅局","classes":"县处级","money":0.3},{"company":"文广旅局","classes":"县处级","money":0.3},{"company":"卫健委","classes":"县处级","money":0.3},{"company":"卫健委","classes":"市厅级","money":2},{"company":"社保中心","classes":"县处级","money":0.3},{"company":"金融工作局","classes":"县处级","money":0.3},{"company":"退役军人事务局","classes":"市厅级","money":2},{"company":"退役军人事务局","classes":"县处级","money":0.3},{"company":"退役军人事务局","classes":"县处级","money":0.3},{"company":"政数局","classes":"市厅级","money":2}]


//TODO 截止2022年10月11日,县处级表扬金额是定数为0.3万元。
var AREA_MONEY = 0.3

ResultData = function (id, company, proviceTimes, proviceMoney, cityTimes,
    cityMoney, areaTimes, areaMoney) {
    this.id = id;
    this.company = company;
    this.proviceTimes = proviceTimes;
    this.proviceMoney = proviceMoney;
    this.cityTimes = cityTimes;
    this.cityMoney = cityMoney;
    this.areaTimes = areaTimes;
    this.areaMoney = areaMoney;
}

var resultDatas = new Array;
var admirDatas = str;
var itemId = 0, provicetime = 0, citytime = 0, areatime = 0
    , proviceMoney = 0, cityMoney = 0, areaMoney = 0;
for (var i = 0; i < admirDatas.length; i++) {
    if (i == 0) {
        itemId++;
        if (admirDatas[i].classes == "省部级") {
            provicetime++;
            proviceMoney = admirDatas[i].money;
        } else if (admirDatas[i].classes == "市厅级") {
            citytime++;
            cityMoney = admirDatas[i].money;
        } else if (admirDatas[i].classes == "县处级") {
            areatime++;
            areaMoney = AREA_MONEY;
        }
        var resultdata = {
            id: itemId,
            company: admirDatas[i].company,
            proviceTimes: provicetime,
            proviceMoney: proviceMoney,
            cityTimes: citytime,
            cityMoney: cityMoney,
            areaTimes: areatime,
            areaMoney: areaMoney
        };
        resultDatas.push(resultdata)
        provicetime = 0
        citytime = 0
        areatime = 0
        proviceMoney = 0
        cityMoney = 0
        areaMoney = 0
    }
    if (i > 0) {
        if (admirDatas[i].company == admirDatas[i - 1].company) {
            if (admirDatas[i].classes == "省部级") {
                resultDatas[resultDatas.length - 1].proviceTimes++;
                resultDatas[resultDatas.length - 1].proviceMoney = resultDatas[resultDatas.length - 1].proviceMoney + admirDatas[i ].money;
            } else if (admirDatas[i].classes == "市厅级") {
                resultDatas[resultDatas.length - 1].cityTimes++;
                resultDatas[resultDatas.length - 1].cityMoney = resultDatas[resultDatas.length - 1].cityMoney + admirDatas[i ].money;

            } else if (admirDatas[i].classes == "县处级") {
                resultDatas[resultDatas.length - 1].areaTimes++;
                resultDatas[resultDatas.length - 1].areaMoney = resultDatas[resultDatas.length - 1].areaMoney + AREA_MONEY;

            }
        } else {

            itemId++;
            if (admirDatas[i].classes == "省部级") {
                provicetime++;
                proviceMoney = admirDatas[i].money;
            } else if (admirDatas[i].classes == "市厅级") {
                citytime++;
                cityMoney = admirDatas[i].money;
            } else if (admirDatas[i].classes == "县处级") {
                areatime++;
                areaMoney = AREA_MONEY;
            }
            var resultdata = {
                id: itemId,
                company: admirDatas[i].company,
                proviceTimes: provicetime,
                proviceMoney: proviceMoney,
                cityTimes: citytime,
                cityMoney: cityMoney,
                areaTimes: areatime,
                areaMoney: areaMoney
            };
            resultDatas.push(resultdata)
            provicetime = 0
            citytime = 0
            areatime = 0
            proviceMoney = 0
            cityMoney = 0
            areaMoney = 0
        }
    }

}




document.write(
    JSON.stringify(resultDatas))
console 命令行工具 X clear

                    
>
console