0

I have a json object like this

  {
    "description": "THURSDAY ",
    "count": "1",
    "date": "2019-12-05"
  },
  {
    "description": "WEDNESDAY",
    "count": "0",
    "date": "2019-12-04"
  }

I want output as something like

[{
    "Thursday": {
        "Count": "1",
        "Date": "2019-12-05"
    },
    "Wednesday": {
        "Count": "0",
        "Date": "2019-12-04"
    }
}]

what I have tried in my javascript function is code snippet:

obj.forEach(function(data){               
    week = data.description;
    count = data.count;
    date = data.date;
    if(data){
      testArray.push({ week : {
          "Date":date,"Count":count
      }});

    }
    });

What i am getting is

{
    "week": {
      "Count": "1",
      "Date": "2019-12-05"
    }
  },
  {
    "week": {
      "Count": "0",
      "Date": "2019-12-04"
    }
  }

am i missing something here. Thanks in advance

smootherbug
  • 129
  • 12

1 Answers1

0

You can do this way

let daysArrayObj = [{
    "description": "THURSDAY ",
    "count": "1",
    "date": "2019-12-05"
},
{
    "description": "WEDNESDAY",
    "count": "0",
    "date": "2019-12-04"
}]

let datasObj = {}
let finalArray=[]
daysArrayObj.map(days => {
    datasObj[days.description] = { count: days.count, date: days.date }
    
})
finalArray.push(datasObj)
console.log(finalArray)
Narendra Chouhan
  • 2,291
  • 1
  • 15
  • 24