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
elements
Le paramètre
elements
de 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) {
var b = [],
p = function p(a, n) {
if ((a.length - n) <= 1) {
b.push([].concat(a));
}
else {
for (var i = 0, j = a.length-n; i < j; i++) {
var t = a[n],
l = a.length-1;
for (var k = n; k < l; k++) {
a[k] = a[k+1];
}
a[l] = t;
p(a, n+1);
}
}
};
p(a, 0);
return b;
}
Dernière mise à jour le .