JSON minor data remover

I have a JSON, who has two people with the same names, but the start date is different, I would like to leave only the larger one

        {
            "startDate": "2020-11-01",
            "name":"Gustavo Fran"
        },
        {
            "startDate": "2020-10-01",
            "name":"Gustavo Fran"
        },
        {
            "startDate": "2020-10-01",
            "name":"Henry Fran"
        }

Answer

const data = [{ "startDate": "2020-11-01", "name":"Gustavo Fran" }, { "startDate": "2020-10-01", "name":"Gustavo Fran" }, { "startDate": "2020-10-01", "name":"Henry Fran" }];

const res = [...
  // iterate over the list
  data.reduce((map, item) => {
    const { name, startDate } = item;
    // get previous map value with name if exists
    const prev = map.get(name);
    // if not found, or this one has a greater startDate, update the map
    if(!prev || Date.parse(startDate) > Date.parse(prev.startDate))
      map.set(name, item);
    return map;
  }, new Map)
  // return name items with greatest start dates
  .values()
];

console.log(res);