So I have this array:
 [{date: "5/7/2021", name: "bob"},
 {date: "5/6/2021", name: "bob"},
 {date: "5/6/2021", name: "bob"},
 {date: "5/6/2021", name: "bob"},]
How to make the array into:
[ {"5/6/2021" : 3}, // 3 because there are 3 data with 5/6/2021 date
  {"5/7/2021" : 1}] // 1 because there are 1 data with 5/7/2021 date
My Progress. updatedSales is the array name (Edit)
const temp = updatedSales.reduce((acc, { name, date }) => {
        acc[name] = acc[name] || { name, dates: new Set(), totalSubmit: 0 };
        acc[name].totalSubmit++;
        acc[name].dates.add(date);
        return acc;
    }, {});
    const result = Object.values(temp).map(({ name, dates, totalSubmit }) => ({ name, uniqueDate: dates.size, totalSubmit }));
 const updatedSales=[{date: "5/7/2021", name: "bob"},
 {date: "5/6/2021", name: "bob"},
 {date: "5/6/2021", name: "bob"},
 {date: "5/6/2021", name: "bob"},]
const temp = updatedSales.reduce((acc, { name, date }) => {
        acc[name] = acc[name] || { name, dates: new Set(), totalSubmit: 0 };
        acc[name].totalSubmit++;
        acc[name].dates.add(date);
        return acc;
    }, {});
    const result = Object.values(temp).map(({ name, dates, totalSubmit }) => ({ name, uniqueDate: dates.size, totalSubmit }));
    
console.log(result)Expectation:
[ {"5/6/2021" : 3}, // 3 because there are 3 data with 5/6/2021 date
  {"5/7/2021" : 1}]
Right now:
[{name: "bob", uniqueDate: 3, totalSubmit: 36},
 {name: "steve", uniqueDate: 12, totalSubmit: 116}]
My desired output is the date to be different, not name. So its like "5/6/2021" instead of "bob".
 
    