JSFiddle - React, Tailwind, and code Playground

by Eugen Sunic

JavaScript

const list = [{
    id: 1,
    name: 'test1'
  },
  {
    id: 2,
    name: 'test2'
  },
  {
    id: 3,
    name: 'test3'
  },
  {
    id: 2,
    name: 'test2'
  }
];

const newList = list.reduce(
  (unique, item) => (unique.findIndex(x => x.id === item.id)>-1 ? [...unique, {
    ...item,
    duplicated: true,
    name: `${item.name}_${item.id}`
  }] : [...unique,item]), []);

console.log(newList);