Comment concaténer des tableaux multidimensionnels ?

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
Jpe54
Messages : 58
Enregistré le : 10 mars 2017, 14:11

Comment concaténer des tableaux multidimensionnels ?

Message par Jpe54 » 24 févr. 2023, 20:28

Bonsoir,

Malgré lecture ici : https://www.toutjavascript.com/referen ... concat.php

Comment coder concat pour une compilation dans un unique tableau "trk_Compil" depuis des tableaux multidimentionnels de cette forme :

Code : Tout sélectionner

trk[0] = [
[44.628770,4.375980],[44.628330,4.375700],[44.628240,4.375700]
];

trk[1] = [
[43.809052,4.348718],[43.807617,4.350012]
];

// etc... ?

var trk_Compil = [];

function Compil() {
    for (n = 1; n < trk.lenght; n++) {
        trk_Compil = trk[0].concat(trk[n]);
    }
    return trk_Compil;
}

Compil

console.log("trk_Compil : " + trk_Compil);
Merci par avance

Avatar du membre
webmaster
Administrateur du site
Messages : 562
Enregistré le : 28 févr. 2017, 15:19

Re: Comment concaténer des tableaux multidimensionnels ?

Message par webmaster » 25 févr. 2023, 10:31

Bonjour

J'ai mis du temps à comprendre le probleme mais avec une trace par console, on voit que la boucle ne fait rien à cause de length mal écrit

Voici une fonction compil qui marche bien :

Code : Tout sélectionner

function Compil() {
    for (n = 0; n < trk.length; n++) {
        console.log(trk[n]);
        trk_Compil = trk_Compil.concat(trk[n]);
    }
}
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Jpe54
Messages : 58
Enregistré le : 10 mars 2017, 14:11

Re: Comment concaténer des tableaux multidimensionnels ?

Message par Jpe54 » 26 févr. 2023, 20:51

Bonsoir,

1000 Mercis pour ce coup de main, et toutes mes excuses pour le code exemple avec une boucle commençant à 1 avec la présence de 2 Array !

A partir d'une collecte de plusieurs années de fichier GPX sur un lieu de séjour identique, je souhaitais obtenir une compilation des circuits réalisés à des périodes différentes sur une même région, en excluant les trajets "Aller" / "Retour" sans intérêt.

But ne pas visiter les mêmes endroits à l'avenir.

Détection effectuée sur rupture de date de plus d'un jour – avant ou après le suivant de la liste de trk[0] … trk[x] puis limite dans un rayon de 100 Km par rapport au lieu de nouveau séjour.

La "vraie" cause de ma bévue était d'utiliser trk[0].concat(trk[n] et non d'utiliser le nouveau array créé…

Pas évident de jongler avec la logique de différents langages !

Amitiés à vous,

Code : Tout sélectionner

<!DOCTYPE html>
<html lang="fr">
    <head>
        <meta charset="utf-8" />
        <title>2023-02-26</title>
        <meta name="viewport" content="width=device-width, initial-scale=1" />
    </head>
    <html>
        <body>
            <script>
                var trk = [];
                trk[0] = [[44.628770,4.375980],[44.628330,4.375700],[44.628240,4.375700]];
                trk[1] = [[43.809052, 4.348718],[43.807617, 4.350012]];
                trk[2] = [[48.670525,5.782233],[48.671548,5.778523]];
                // etc... ?

                var trk_Compil = [];
				let x = trk.lenght;
				trk[x] = [];

                function Compil() {
                    for (n = 0; n < trk[trk.lenght]; n++) {
                        console.log(trk[n]);
                        // trk_Compil = trk[0].concat(trk[n]);
                        trk_Compil = trk_Compil.concat(trk[n]);
                    }
                    for (n = 1; n < trk.length; n++) {
                        console.log(trk[n]);
						// compilation "utile" en créant un nouveau Array
                        trk[x] = trk[x].concat(trk[n]);
                    }
                }

                Compil();

                console.log("trk : " + trk);
                console.log("trk_Compil (trk > 0 1 2) : " + trk_Compil);
                console.log("trk[x] : (trk[3] > 1 2) : " + trk[x]);
            </script>
        </body>
    </html>
</html>
NB: Vue la structure de l'Array, la totalité des données est d'origine présente directement en trk.

bulwarkcrime
Messages : 4
Enregistré le : 21 nov. 2023, 02:57

Re: Comment concaténer des tableaux multidimensionnels ?

Message par bulwarkcrime » 21 nov. 2023, 03:05

La détection se fait lorsqu'il y a un écart dans la liste des trk[0]... penalty kick online trk[x] de plus d'un jour, avant ou après, et est alors restreinte à un rayon de 100 kilomètres autour du nouvel emplacement.

Répondre