JS : Les permutations d'un tableau en javascript
le 25 Octobre 2017

"La permutation d'un ensemble d'éléments est une disposition ordonnée de tous les éléments de cet ensemble."
Dans ce cour tutoriel, je vous donne une solution pour générer toutes les permutations possible d'un tableau en javascript

JS : Les permutations d'un tableau en javascript

Récement confronté à devoir comparer des ensembles dans des ordres différents de données identiques, j'ai été amené à faire des permutations de mes tableaux de données.

Je vous suggère les deux fonctions ci-dessous, elles sont récursives et bouclent automatiquement pour afficher tous les cas de figure.

La première : 

La seconde :

/**
 * @var Arr(array) tableau à permuter
 * @var first(int) premier index à prendre en compte
 * @return (string) affiche dans les logs le tableau permuté
 */
function anagramma(Arr, first)
{
	if ((Arr.length - first) <= 1)
	{
		console.log( Arr.join('-') );
	}
	else
	{
		for (var i = 0; i < Arr.length-first ; i++)
		{
			anagramma(anagramma_round(Arr, first), first+1);
		}
	}
}
/**
 * @var Arr(array) tableau à permuter
 * @var i(int) premier index à prendre en compte
 * @return (array) retourne le tableau après avoir permuté tous les élément de un niveau vers la gauche
 */
function anagramma_round(Arr, i){
	var temp = Arr[i];
	for(var j=i;j < Arr.length-1;j++)
	{
		Arr[j] = Arr[j+1];
	}
	Arr[Arr.length-1] = temp;
	return Arr;
}

// déclanche la fonction
anagramma([1, 2, 'a'], 0);

 Ce qui affiche dans la console :

2-1-a
2-a-1
a-2-1
a-1-2
1-a-2
1-2-a

Liens utiles :

Enjoy!!