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

intersect

function intersect<T>(...arrays: T[][]): T[];

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

Масиви після першого один раз перетворюються на множини, а перший проходиться рівно один раз. Вартість лінійна щодо загального обсягу вхідних даних, а не квадратична, як у написаній вручну версії. Вихідні масиви не змінюються.

З одним масивом intersect повертає його унікальні значення, без аргументів — [].

Параметри

Параметр

Тип

Опис

...arrays

T[][]

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

Повертає

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

Винятки

Виняток

Умова

TypeError

Один з аргументів не є масивом.

Приклади

Значення, спільні для всіх масивів

intersect([1, 2, 3], [2, 3, 4]); // => [2, 3] intersect([1, 2, 3], [2, 3], [3, 9]); // => [3] intersect([1, 2], [9]); // => []

Пошук рядків, спільних для двох аркушів

/** * Returns the identifiers that appear in both sheets, in the order of the * first one. */ export function findSharedIds( active: GoogleAppsScript.Spreadsheet.Sheet, billed: GoogleAppsScript.Spreadsheet.Sheet ): string[] { const left = active.getRange("A2:A").getValues().flat() as string[]; const right = billed.getRange("A2:A").getValues().flat() as string[]; return intersect(left, right); }
function findSharedIds(active, billed) { const left = active.getRange("A2:A").getValues().flat(); const right = billed.getRange("A2:A").getValues().flat(); return intersect(left, right); }

Дедуплікація та крайні випадки

intersect([1, 1, 2], [1, 2]); // => [1, 2] — the result is deduplicated intersect([NaN], [NaN]); // => [NaN] intersect([1, 2]); // => [1, 2] — a single array, deduplicated intersect(); // => []

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

Вихідний код

src/lang/array/intersect.ts

23 September 2026

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