1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| /*
* Produit cartésien de n array
* Wiki http://fr.wikipedia.org/wiki/Produit_cartésien
* Daniel Hagnoul v1.0.0 2010-10-21
*/
var produitCartesien = function(ts){
var tslength = ts.length;
if (tslength >= 2){
var r = tr(ts[0], ts[1]);
for (var n = 2; n < tslength; n++){
r = tr(r, ts[n]);
}
return(r.join());
}
function tr(t1, t2){
var t3 = [];
for (var i in t1) {
for (var j in t2) {
t3.push(t1[i] + '-' + t2[j]);
}
}
return t3;
}
return "Erreur, n < 2";
};
var ts = [
[ 'A', 'R', 'D', 'V', '10', '9', '8', '7', '6', '5', '4', '3', '2' ],
[ 'pique', 'cur', 'carreau', 'trèfle'],
[ 'a', 'b', 'c', 'd', 'e'],
[ '01', '02', '03', '04', '05']
];
console.log(produitCartesien(ts)); |
Partager