JSFiddle - React, Tailwind, and code Playground

by Aleksandr Zidyganov

JavaScript

const t0 = [
  ["John Doe", "Doe Industries", "john.doe.88"],
  ["John Doe", "Doe Limited", "john.doe.88"],
  ["Aohn Doe", "Doe Limited", "john.doe.88"],
  ["John Doe", "Doe Industries", "thejohn"],
  ["Jane Doe", "Doe Industries", "jane"],
  ["John Doe2", "Doe Industries", "john.doe.88"],
  ["John Doe2", "Doe Industries", "thejohn"],
  ["John Doe2", "Doe Industries", "johnie"],
  ["John Doe1", "Doe Industries", "john.doe.881"],
  ["John Doe1", "Doe Industries", "thejoh1n"],
  ["John Doe1", "Doe Indust", "thej"]
];


const t1 = [["John Doe", "Doe Industries", "john.doe.88"], ["John Doe", "Doe Limited", "john.doe.88"]];
const t2 = [["John Doe", "Doe Industries", "john.doe.88"], ["John Doe", "Doe Industries", "thejohn"]];
const t3 = [["John Doe", "Doe Industries", "john.doe.88"], ["John Doe", "Doe Industries", "thejohn"], ["John Doe", "Doe Limited", "john.doe.88"]];
const t4 = [["John Doe", "Doe Industries", "john.doe.88"], ["Jane Doe", "Doe Industries", "jane"]];

const t5 = [[], [], ["John Doe", "Doe Industries"]];
const t6 = 'rest';

function handleDuplicates(users) {

  // check input data
  if (!Array.isArray(users) || !users.length) {
    return false;
  }

  const usersReturned = [];
  const _userArrayNotChecked = users.slice(0).splice(0, 100);

  // remove not correct data
  const _userArray = _userArrayNotChecked.filter((el) => {
    let result = true;
    if (el.length < 3) {
      result = false;
    } else {
      el.forEach((value) => {
        if (value.length < 3) {
          result = false;
        }
      });
    }
    return result;
  });

  if (_userArray.length === 0) {
    return false;
  }

  const _usersBySameName = [[]];

  // sort common array users;
  _sortByName(_userArray, 0);

  // sort user by the same name
  _userArray.forEach((item, index, array) => {
    let _usersBySameNameLastCollection = _usersBySameName.length - 1;
    if (index === 0) {
      _usersBySameName[_usersBySameNameLastCollection].push(item);
    } else {
      //...