Travailler sur les tableaux [Résolu]

Signaler
Messages postés
175
Date d'inscription
samedi 23 octobre 2004
Statut
Membre
Dernière intervention
8 mars 2015
-
Messages postés
175
Date d'inscription
samedi 23 octobre 2004
Statut
Membre
Dernière intervention
8 mars 2015
-
Bonjour à tous !!

Une âme charitable pourrais t elle me donner un tuyau (pas percé, merci d'avance)
en fait j'ai un tableau

2 réponses

Messages postés
175
Date d'inscription
samedi 23 octobre 2004
Statut
Membre
Dernière intervention
8 mars 2015

la suite, j'ai bugué
donc j ai un tableau style tab = ('0 2','1 3','1 5','2 6','2 7','3 2')
le parcourir pas compliqué, mais ce que j'aimerais en sortir c'est un autre tableau qui comprendrait les valeurs cumulées sur le premier identifiant.
Je m'explique il y a 0 2 donc je récupère 0 2, il y a 1 3 et 1 5 je récupère 1 8 (le 1 puis le cumul 3+5 ) etc
la finalité serait un tableau contenant donc ('0 2','1 8','2 13','3 2')

pourriez-vous m'aiguiller
merci par avance

--
Messages postés
28792
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mai 2020
328
Bonjour,

Tu parcours ton tableau
Tu SPLIT chaque valeur (par l'espace) pour récupérer tes deux variables...
- Tu regardes si ta data[0] = la data[0] précédente... si oui .. tu additionnes la data[0] d'un côté .. et la data[1] de l'autre...
- Si data[0] différent du précédent .. tu PUSH le précédent dans un ARRAY.....
Messages postés
175
Date d'inscription
samedi 23 octobre 2004
Statut
Membre
Dernière intervention
8 mars 2015
>
Messages postés
28792
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mai 2020

Bonsoir jordane45
d'abord merci pour la suggestion et surtout pour la rapidité de réponse, voici ou j'en suis (le split de chaque élément)
<script type="text/javascript">

var t = "0 3,1 2,5 5,1 4,6 2,2 7,4 2";
var r = t.split(",");
for(var i=0;i<r.length;i++){//ici je récupère chaque élément

var nombres = new Array();

for(var c=0;c<r.length;c++){//ici j'alimente le tableau
var contenu = nombres.push(r[c])};}

for(var h=0;h<nombres.length;h++){
var r = nombres[h].split(" ");
for(var k=0;k<r.length;k++){//ici je récupère chaque élément pour le spliter
alert(r[k])}

}

</script>


Maintenant pour la suite :
data[0] = la data[0] précédente... si oui .. tu additionnes la data[0] d'un côté .. et la data[1] de l'autre...
- Si data[0] différent du précédent .. tu PUSH le précédent dans un ARRAY.....
j'ai un peu de mal
merci
Messages postés
175
Date d'inscription
samedi 23 octobre 2004
Statut
Membre
Dernière intervention
8 mars 2015

Désolé, mais je n'y arrive pas du coup j'essaye autrement en faisant 2 tableaux mais je n'arrive pas à cumuler toutes les valeurs pour le 1 pour le 3...

<script type="text/javascript">

var nombres1 = new Array(0,1,1,1,2,3,3,3);
var nombres2 = new Array(0,3,2,8,7,6,1,2);
var x =0;

for(var z=0;z<nombres1.length;z++){

while(nombres1[z]!=nombres1[z+1]){alert('rang '+nombres1[z]+' quantite '+nombres2[z]);z++}

}

</script>


j'ai en sortie ==> 0 0, 1 8, 3 2
je m'y prend certainement très mal ???
--