Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Remove objects if they are duplicated with javascript

I’m trying to remove duplicated objects if the ids are the same with lodash _.uniqBy.

Or this doesn’t have to be a lodash or _.uniqBy, but is this possible?

Also the id value is always dynamic, so this time I want to remove the object with id:123, but other time it will be different id

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

import _ from "lodash";

export default function App() {
  const samples = [
    { id: 123, name: "Dan", age: 10 },
    { id: 234, name: "Jake", age: 22 },
    { id: 123, name: "Jake", age: 9 }
  ];

  let uniq = _.uniqBy(samples, samples.name);

  console.log(uniq);
  return (
    <div className="App">
      {uniq.map((u) => (
        <p>{u.id}</p>
      ))}
      <h2>Start editing to see some magic happen!</h2>
    </div>
  );
}

Or you can take a look at sample code here

>Solution :

You just need to provide the property name which is name in your case. See _.uniqBy() docs.

const samples = [{
    id: 123,
    name: "Dan",
    age: 10
  },
  {
    id: 234,
    name: "Jake",
    age: 22
  },
  {
    id: 123,
    name: "Jake",
    age: 9
  }
];

const unique = _.uniqBy(samples, 'name');
console.log(unique);
.as-console-wrapper { max-height: 100% !important; top: 0; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

Edit

As the question was edited: If you want to have it unique for id you should pass "id" instead of "name".

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading