apps-script-utils (Deutsch) 2.1.1 Help

unique

function unique<T, K = T>(array: T[], iteratee?: (value: T) => K): T[];

Verglichen wird mit SameValueZero, der Regel eines Set: NaN dedupliziert gegen NaN, was === nie tut, und -0 fällt mit 0 zusammen. Die Reihenfolge ist die des ersten Auftretens, die Eingabe bleibt unverändert.

Objekte werden über ihre Identität verglichen, zwei inhaltsgleiche Objekte sind also zwei Werte. Die optionale iteratee liefert den Schlüssel, über den verglichen wird — so werden Datensätze über eine Id statt über ihre Identität dedupliziert. Bei gleichem Schlüssel gewinnt der frühere Wert.

Parameter

Parameter

Typ

Beschreibung

array

T[]

Das zu deduplizierende Array. Bleibt unverändert.

iteratee (optional)

(value: T) => K

Liefert den Schlüssel, über den ein Wert verglichen wird. Ohne sie vergleichen sich die Werte selbst.

Rückgabewert

T[] — ein neues Array ohne Dubletten, in der Reihenfolge des ersten Auftretens.

Ausnahmen

Ausnahme

Bedingung

TypeError

array ist kein Array.

Beispiele

Werte deduplizieren

unique([1, 2, 2, 3]); // => [1, 2, 3] unique(["a", "b", "a"]); // => ["a", "b"] unique([NaN, NaN]); // => [NaN] unique([0, -0]); // => [0]

Datensätze über einen Schlüssel deduplizieren

import { unique } from "apps-script-utils"; const rows = [ { id: 1, name: "first" }, { id: 1, name: "second" }, { id: 2, name: "third" } ]; unique(rows, (row) => row.id); // => [{ id: 1, name: "first" }, { id: 2, name: "third" }]

Die verschiedenen Werte einer Spalte sammeln

/** * Lists every status used in a column, each one once, in the order they first * appear. */ export function listStatuses(sheet: GoogleAppsScript.Spreadsheet.Sheet): string[] { const column = sheet.getRange("C2:C").getValues().flat() as string[]; return unique(column.filter((status: string): boolean => status !== "")); }
function listStatuses(sheet) { const column = sheet.getRange("C2:C").getValues().flat(); return unique(column.filter((status) => status !== "")); }

Siehe auch

Quellcode

src/lang/array/unique.ts

23 September 2026

Diese Dokumentation wurde mit KI (Claude) aus dem Quellcode der Bibliothek erzeugt.