ChemPal Documentation - v1.7.0
    Preparing search index...

    Function getAllUniqueValues

    • Gets a sorted unique list of values for a column from all rows. Returns all values, including the filtered out ones.

      Type Parameters

      • TData

      Parameters

      • column: Column<TData, unknown>

        The column to get values from

      • table: Table<TData>

        The table instance

      Returns (string | number)[]

      A sorted array of unique values

      export function getAllUniqueValues<TData>(
      column: Column<TData, unknown>,
      table: Table<TData>,
      ): (string | number)[] {
      const accessorKey = getAccessorKey<TData>(column.columnDef);
      if (accessorKey === undefined) return [];

      const uniqueValues = table.options.data.reduce<(string | number)[]>((accu, row) => {
      const value: unknown = row[accessorKey];
      if (isStringOrNumber(value) && !accu.includes(value)) {
      accu.push(value);
      }
      return accu;
      }, []);

      return uniqueValues.sort((a, b) => {
      if (typeof a === 'number' && typeof b === 'number') return a - b;
      return String(a).localeCompare(String(b));
      });
      }