Code : Sélectionner tout - Visualiser dans une fenêtre à part
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', 'cœur', 'carreau', 'trèfle'],
	[ 'a', 'b', 'c', 'd', 'e'],
	[ '01', '02', '03', '04', '05']
];
 
console.log(produitCartesien(ts));