Skip to content

Distinct values #29

@jmakeig

Description

@jmakeig
function distinct(iterable, equals = (a, b) => a === b) {
  return Array.from(iterable).reduce(
    (unique, current) =>
      unique.find(item => equals(item, current))
        ? unique
        : [...unique, current],
    []
  );
}
// let arr = [{a: 1, b: 2}, {a: 1, b:2}, {a: 1, c:2}];
// distinct(arr, (a, b) => a.a === b.a && a.b === b.b);

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions