apps-script-utils (Français) 2.1.1 Help

compact

function compact<T>(array: Array<T | Falsy>): T[];

compact écarte false, null, undefined, 0, -0, 0n, "" et NaN, et renvoie le reste dans un nouveau tableau. L'entrée n'est pas modifiée.

L'intérêt par rapport à array.filter(Boolean) tient au type : TypeScript y conserve le type d'élément d'origine, si bien que l'appelant doit ensuite écarter les null à la main. compact renvoie T[] sans cast.

Notez que 0 et "" comptent comme falsy. Pour des données lues dans une feuille, c'est rarement le bon outil — 0 est un nombre légitime et une cellule vide arrive sous la forme "" — et array.filter(nonNil) ne retire alors que les valeurs absentes.

Paramètres

Paramètre

Type

Description

array

Array<T \| Falsy>

Le tableau à nettoyer. Il n'est pas modifié.

Valeur de retour

T[] — un nouveau tableau contenant uniquement les valeurs truthy, dans leur ordre d'origine.

Exceptions

Exception

Condition

TypeError

array n'est pas un tableau.

Exemples

Écarter les valeurs falsy

compact([0, 1, false, 2, "", 3, null]); // => [1, 2, 3] compact([NaN, undefined]); // => [] compact([0, ""]); // => [] — both are falsy

Lire une colonne sans les cellules vides

The column arrives as Array<string | null> and leaves as string[], with no cast in between.

/** * Reads a column of identifiers and drops the blanks, without a cast: * `compact` returns `string[]`, not `Array<string | null>`. */ export function readIds(sheet: GoogleAppsScript.Spreadsheet.Sheet): string[] { const column = sheet.getRange("A2:A").getValues().flat() as Array<string | null>; return compact(column); }
function readIds(sheet) { const column = sheet.getRange("A2:A").getValues().flat(); return compact(column); }

Quand nonNil est le bon filtre

import { nonNil } from "apps-script-utils"; const cells = [0, "", 5, null]; // a column read from a sheet compact(cells); // => [5] — drops the legitimate 0 and the empty cell cells.filter(nonNil); // => [0, "", 5] — drops only the absent values

Voir aussi

Code source

src/lang/array/compact.ts

23 September 2026

Cette documentation a été générée par une IA (Claude) à partir du code source de la bibliothèque.