github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/app/helpers/dedupe-by-property.js (about)

     1  // Takes an array and a property name and returns a new array with all the duplicates removed.
     2  import { helper } from '@ember/component/helper';
     3  
     4  export default helper(function dedupeByProperty([arr], { prop }) {
     5    const seen = new Set();
     6    return arr.filter((item) => {
     7      const val = item[prop];
     8      if (seen.has(val)) {
     9        return false;
    10      } else {
    11        seen.add(val);
    12        return true;
    13      }
    14    });
    15  });