Merge JSON Object with same “key” and add their “value” using JavaScript

后端 未结 5 2061
误落风尘
误落风尘 2021-02-06 19:07

My JSON looks like this

{\"rows\":[
    {\"key\":[\"zeit.de\"],\"value\":98},
    {\"key\":[\"google.com\"],\"value\":49},
    {\"key\":[\"spiegel.de\"],\"value\         


        
5条回答
  •  萌比男神i
    2021-02-06 19:34

    var json = '{"rows":[{"key":["zeit.de"],"value":98},{"key":["google.com"],"value":49},{"key":["spiegel.de"],"value":20},{"key":["spiegel.de"],"value":12},{"key":["spiegel.de"],"value":20},{"key":["spiegel.de"],"value":12},{"key":["netmng.com"],"value":49},{"key":["zeit.de"],"value":300}]}';
    var obj = JSON.parse(json);
    
    var newObj = {};
    for(i in obj['rows']){
     var item = obj['rows'][i];
        if(newObj[item.key[0]] === undefined){
            newObj[item.key[0]] = 0;
        }
        newObj[item.key[0]] += item.value;
    }
    
    var result = {};
    result.rows = [];
    for(i in newObj){
        result.rows.push({'key':i,'value':newObj[i]});
    }
    console.log(result);

    https://jsfiddle.net/s8rp84qc/

提交回复
热议问题