Obtenir les permutations d'une liste d'éléments avec JavaScript
Concept et utilisation
La fonction arrayPermutations() permet d'obtenir une liste des permutations d'une série d'éléments.
Fonction
arrayPermutations()Retourne les permutations d'une liste d'éléments.
- Syntaxe
arrayPermutations(elements);- Paramètre
elementsLe paramètre
elementsde la fonctionarrayPermutations()définit la liste des éléments pour lesquels obtenir les permutations.
Exemple d'obtention des permutations d'une liste d'éléments
var elements = ['a', 'b', 'c'];
arrayPermutations(elements);
// renvoie :
// [
// ['b', 'a', 'c']
// ['b', 'c', 'a']
// ['c', 'b', 'a']
// ['c', 'a', 'b']
// ['a', 'c', 'b']
// ['a', 'b', 'c']
// ]Code source de la fonction
function arrayPermutations(a){a.sort();var r=[],p=function(a,n){if(n===a.length-1){r.push(a.slice());return;}var s=new Set();for(var i=n,j=a.length;i<j;i++){if(s.has(a[i])){continue;}s.add(a[i]);[a[n],a[i]]=[a[i],a[n]];p(a,n+1);[a[n],a[i]]=[a[i],a[n]];}};p(a,0);return r;}Dernière mise à jour le .
