112 votes

Comment aplatir une liste ?

Comment puis-je aplatir facilement un List dans Dart ?

Par exemple :

var a = [[1, 2, 3], ['a', 'b', 'c'], [true, false, true]];
var b = [1, 2, 3, 'a', 'b', 'c', true, false, true];

Comment transformer a en b c'est-à-dire en un seul List contenant toutes ces valeurs ?

1voto

Kuldeep Saxena Points 446

Vous pouvez essayer cette solution récursive qui autorise également les éléments uniques et aplatit les listes profondément imbriquées.

List flatten(List arr) => 
  arr.fold([], (value, element) => 
   [
     ...value, 
     ...(element is List ? flatten(element) : [element])
   ]);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X