IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Produit Cartésien de n Array


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Par défaut Produit Cartésien de n Array
    Bonjour à tous,

    J'aimerai savoir si quelqu'un sait comment je pourrais faire pour générer le produits Cartésiens de n Array.

    Je m'explique:

    J'aimerai dresser la listes de toutes les combinaisons possibles entre ces n Array.

    Exemple:

    • Array1 : [A,B,C]
    • Array2: [1,2,3,4]


    Resultat:
    • A-1
    • A-2
    • A-3
    • A-4
    • B-1
    • B-2
    • B-3
    • B-4
    • C-1
    • C-2
    • C-3
    • C-4


    J'ai essayé avec de la récursivité mais mon niveau en javascript n'est pas super.

    Donc si quelqu'un aurait une solution, ce serait gentil de me donner un petit coup de pouce

    Merci d'avance.

    xenogaz

  2. #2
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Bonsoir,

    Tu as essayé les boucles imbriquées ?

    Quelque chose comme ceci devrait fonctionner :
    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
    <!DOCTYPE html>
    <html>
      <head>
        <script type="text/javascript">
          var init = function() {
            var array1 = ['A', 'B', 'C'];
            var array2 = ['1', '2', '3', '4'];
            var result = document.getElementById('result');
     
            for (var i = 0; i < array1.length; i++) {
              for (var j = 0; j < array2.length; j++) {
                var text = document.createTextNode(array1[i] + '-' + array2[j]);
                var paragraph = document.createElement('li');
                paragraph.appendChild(text);
                result.appendChild(paragraph);
              }
            }
          }
        </script>
      </head>
      <body onload="init()">
        <ul id="result"></ul>
      </body>
    </html>
    Bon développement

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Par défaut
    Oui j'ai essayer sauf que la tu est bloquer à deux array ...
    et il faudrait que l'on puisse en définir une infinité enfin dans les limites du raisonnable...

    J'ai essayer d'implémenter de la récursivité dans ma fonctions mais rien n'y fait ... :/

  4. #4
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Bonsoir !

    Je vais essayer de rassembler mes lointains souvenirs de Scheme… Il faudrait que tes tableaux soient eux-mêmes dans un tableau, du style :
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var array1 = ['A', 'B'; 'C'];
    …
    var arrays = [array1, array2, array3, …]
    Ensuite bah, on garde la fonction de Nesmontou, qui sera le cas terminal de la récursion (quand il ne reste que 2 tableaux), et on tente le truc magique qui transforme n en n-1.

    Je te laisse chercher jusqu'à demain
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Re,

    Tu pourrais nous montrer ce que tu as déjà mis en place ?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Par défaut
    je ne peux pas vous filer mes anciennes sources vu que j'ai tout remodifier et que je travaille sur des arrays deja rempli en recupérant des input hidden donc en soit ca serait illisibles ici....

    C'est pour cela que j'ai simplifié pour le post.

Discussions similaires

  1. [JavaScript] Produit cartésien de n array
    Par danielhagnoul dans le forum Contribuez
    Réponses: 1
    Dernier message: 10/10/2015, 11h13
  2. Obtenir un produit cartésien
    Par pc75 dans le forum Excel
    Réponses: 10
    Dernier message: 07/04/2014, 08h51
  3. Produit cartésien au lieu d'une jointure
    Par Smix007 dans le forum Débuter
    Réponses: 1
    Dernier message: 17/04/2008, 14h50
  4. [V 6.5.1] Produit cartésien
    Par pc75 dans le forum Deski
    Réponses: 7
    Dernier message: 10/07/2007, 10h17
  5. Réponses: 10
    Dernier message: 12/07/2006, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo