apps-script-utils (Українська) 2.1.1 Help

unique

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

Значення порівнюються за правилом SameValueZero, яке використовує Set: NaN дедуплікується з NaN, чого === ніколи не робить, а -0 схлопується з 0. Порядок — порядок першої появи, вихідний масив не змінюється.

Об'єкти порівнюються за посиланням, тож два об'єкти з однаковим вмістом — це два значення. Необов'язкова функція iteratee задає ключ, за яким порівнюються значення: так записи дедуплікуються за ідентифікатором, а не за посиланням. За збігу ключів перемагає значення, зустрінуте раніше.

Параметри

Параметр

Тип

Опис

array

T[]

Масив для дедуплікації. Не змінюється.

iteratee (необов'язковий)

(value: T) => K

Функція, що повертає ключ порівняння. Без неї значення порівнюються самі із собою.

Повертає

T[] — новий масив без повторів, у порядку першої появи.

Винятки

Виняток

Умова

TypeError

array не є масивом.

Приклади

Дедуплікація значень

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

Дедуплікація записів за ключем

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" }]

Збір різних значень стовпця

/** * 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 !== "")); }

Дивіться також

Вихідний код

src/lang/array/unique.ts

23 September 2026

Цю документацію згенеровано нейромережею (Claude) на основі вихідного коду бібліотеки.