JavaScriptTableaux

Array.prototype.flat()

Aplatit des tableaux imbriqués jusqu’à la profondeur indiquée.

Renvoie
Un nouveau tableau aplati.
Modifie l’original
Non
Sur cette page

Exemple

#
JavaScript
const nested = [1, [2, 3], [4, [5, [6]]]]

console.log(nested.flat())
console.log(nested.flat(2))
console.log(nested.flat(Infinity))
Console
[1, 2, 3, 4, [5, [6]]]
[1, 2, 3, 4, 5, [6]]
[1, 2, 3, 4, 5, 6]

Définition et utilisation

#

La méthode flat() crée un nouveau tableau dans lequel les tableaux imbriqués sont décomposés en éléments simples. Par défaut, elle aplatit un niveau d’imbrication.

L’argument définit la profondeur : flat(2) aplatit deux niveaux, et flat(Infinity) tous les niveaux, quelle que soit la profondeur.

Au passage, elle supprime aussi les emplacements vides des tableaux creux. Le tableau d’origine ne change pas.

Syntaxe

#
Syntaxe
array.flat()
array.flat(depth)

Paramètres

#
  • depth

    optionnel

    Nombre de niveaux à aplatir. Par défaut, 1.

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Si vous mappez d’abord puis aplatissez, utilisez flatMap() plutôt que map().flat().
  • flat(Infinity) est pratique, mais peut coûter cher avec des données inconnues et très profondément imbriquées.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.