为了账号安全,请及时绑定邮箱和手机立即绑定

解析json数据,获取每条数据的计数

解析json数据,获取每条数据的计数

月关宝盒 2022-10-21 14:43:22
我想解析 json 数据并想获取 Leadstage 的计数。现在我想获取基于 ledstage 的计数。 {    "Geo" :"US East"      "LeadStage": "SGL",    "count": 6  },部分使用我的代码。还需要基于地理。 var data = {   "leads":{      "data":[         {            "UserName":"Tharun Sairam",            "Geo":"US East",            "LeadStage":"SGL"         },         {            "UserName":"Tharun Sairam",            "Geo":"US East",            "LeadStage":"MGL"         },         {            "UserName":"Praveen Kumar",            "Geo":"US West",            "LeadStage":"SGL"         },         {            "UserName":"Souvik bhattacharya",            "Geo":"US East",            "LeadStage":"SGL"         },         {            "UserName":"Denisse Morales",            "Geo":"NSU",            "LeadStage":"MGL"                     },         {            "UserName":"Souvik bhattacharya",            "Geo":"US East",            "LeadStage":"SGL"                     },         {            "UserName":"Souvik bhattacharya",            "Geo":"US East",            "LeadStage":"SGL"                     },         {            "UserName":"Souvik bhattacharya",            "Geo":"US East",            "LeadStage":"SGL"                     },         {            "UserName":"Anthony Susairaj",            "Geo":"US West",            "LeadStage":"RGL"                     },         {            "UserName":"Vivek Sharma",            "Geo":"NSU",            "LeadStage":"SGL"                     },         {            "UserName":"Souvik bhattacharya",            "Geo":"US East",            "LeadStage":"SGL"                     },         {            "UserName":"Arvind Partha",            "Geo":"US West",            "LeadStage":"SGL"                     },         {            "UserName":"Kaviarasan Selvaraj",            "Geo":"NSU",            "LeadStage":"SGL"         },         {            "UserName":"Tharun Sairam",            "Geo":"US East",            "LeadStage":"MGL"                    }      ]     } };
查看完整描述

2 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

你需要使用reduce,在这种情况下你可以不用 JQuery

const data = {

    leads: {

        data: [

            {

                UserName: 'Tharun Sairam',

                Geo: 'US East',

                LeadStage: 'SGL',

            },

            {

                UserName: 'Tharun Sairam',

                Geo: 'US East',

                LeadStage: 'MGL',

            },

            {

                UserName: 'Praveen Kumar',

                Geo: 'US West',

                LeadStage: 'SGL',

            },

            {

                UserName: 'Souvik bhattacharya',

                Geo: 'US East',

                LeadStage: 'SGL',

            },

            {

                UserName: 'Denisse Morales',

                Geo: 'NSU',

                LeadStage: 'MGL',

            },

            {

                UserName: 'Souvik bhattacharya',

                Geo: 'US East',

                LeadStage: 'SGL',

            },

            {

                UserName: 'Souvik bhattacharya',

                Geo: 'US East',

                LeadStage: 'SGL',

            },

            {

                UserName: 'Souvik bhattacharya',

                Geo: 'US East',

                LeadStage: 'SGL',

            },

            {

                UserName: 'Anthony Susairaj',

                Geo: 'US West',

                LeadStage: 'RGL',

            },

            {

                UserName: 'Vivek Sharma',

                Geo: 'NSU',

                LeadStage: 'SGL',

            },

            {

                UserName: 'Souvik bhattacharya',

                Geo: 'US East',

                LeadStage: 'SGL',

            },

            {

                UserName: 'Arvind Partha',

                Geo: 'US West',

                LeadStage: 'SGL',

            },

            {

                UserName: 'Kaviarasan Selvaraj',

                Geo: 'NSU',

                LeadStage: 'SGL',

            },

            {

                UserName: 'Tharun Sairam',

                Geo: 'US East',

                LeadStage: 'MGL',

            },

        ],

    },

};


const result = data.leads.data.reduce((acc, lead) => {

    const tryFind = acc.find(l => l.Geo === lead.Geo && l.LeadStage === lead.LeadStage);


    if (tryFind) {

        tryFind.count++;

    } else {

        acc.push({ Geo: lead.Geo, LeadStage: lead.LeadStage, count: 1 });

    }


    return acc;

}, []);


console.log(result);



查看完整回答
反对 回复 2022-10-21
?
偶然的你

TA贡献1841条经验 获得超3个赞

您可以在完成该过程后使用reduce并使用它:Object.values


var data = { "leads":{ "data":[ { "UserName":"Tharun Sairam", "Geo":"US East", "LeadStage":"SGL" }, { "UserName":"Tharun Sairam", "Geo":"US East", "LeadStage":"MGL" }, { "UserName":"Praveen Kumar", "Geo":"US West", "LeadStage":"SGL" }, { "UserName":"Souvik bhattacharya", "Geo":"US East", "LeadStage":"SGL" }, { "UserName":"Denisse Morales", "Geo":"NSU", "LeadStage":"MGL" }, { "UserName":"Souvik bhattacharya", "Geo":"US East", "LeadStage":"SGL" }, { "UserName":"Souvik bhattacharya", "Geo":"US East", "LeadStage":"SGL" }, { "UserName":"Souvik bhattacharya", "Geo":"US East", "LeadStage":"SGL" }, { "UserName":"Anthony Susairaj", "Geo":"US West", "LeadStage":"RGL" }, { "UserName":"Vivek Sharma", "Geo":"NSU", "LeadStage":"SGL" }, { "UserName":"Souvik bhattacharya", "Geo":"US East", "LeadStage":"SGL" }, { "UserName":"Arvind Partha", "Geo":"US West", "LeadStage":"SGL" }, { "UserName":"Kaviarasan Selvaraj", "Geo":"NSU", "LeadStage":"SGL" }, { "UserName":"Tharun Sairam", "Geo":"US East", "LeadStage":"MGL" } ] } };


var result = Object.values(data.leads.data.reduce((acc, {UserName, ...rest})=>{

    const key = Object.values(rest).join('|');

    acc[key] = acc[key] || {...rest, count:0};

    acc[key].count++;

    return acc;

},{}));


console.log(result);


查看完整回答
反对 回复 2022-10-21
  • 2 回答
  • 0 关注
  • 272 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号