La méthode flat

La méthode flat réduit le niveau d'imbrication d'un tableau multidimensionnel. Elle peut soit rendre le tableau unidimensionnel, soit réduire sa dimensionnalité d'une valeur donnée.

Syntaxe

javascriptlet newArray = tableau.flat(niveau_d'aplatissement);

Exemple

Obtenons un nouveau tableau sans spécifier de valeur dans le paramètre :

javascriptlet arr = ['a', 'b', ['c', 'd']];
let res = arr.flat();

console.log(res);

Résultat de l'exécution du code : nous verrons que les sous-tableaux ont été remontés d'un niveau :

javascript['a', 'b', 'c', 'd']

Exemple

Appliquons maintenant la méthode flat à un tableau avec deux niveaux d'imbrication :

javascriptlet arr = ['a', 'b', ['c', 'd', ['e', 'f']]];
let res = arr.flat();

console.log(res);

Résultat de l'exécution du code :

javascript['a', 'b', 'c', 'd', ['e', 'f']]

Exemple

Spécifions le niveau d'imbrication :

javascriptlet arr = ['a', 'b', ['c', 'd', ['e', 'f']]];
let res = arr.flat(2);

console.log(res);

Résultat de l'exécution du code :

javascript['a', 'b', 'c', 'd', 'e', 'f']

Exemple

Si nous ne voulons pas nous préoccuper du niveau d'imbrication, mais fusionner le tableau entier, utilisons le paramètre Infinity :

javascriptlet arr = ['a', 'b', ['c', 'd', ['e', 'f', ['g', 'h', ['i']]]]];
let res = arr.flat(Infinity);

console.log(res);

Résultat de l'exécution du code :

javascript[
  'a', 'b', 'c',
  'd', 'e', 'f',
  'g', 'h', 'i'
]

Voir aussi

  • la méthode flatMap,
    qui renvoie un tableau d'éléments après l'application d'une fonction