11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je souhaite constituer un tableau multidimension.
J'ai un bout de code qui me permet de compter le nbre d'occurences dans un tableau et qui me fait un alert avec une restitution impeccable.



var tabRef=[A,B,C,D]
var tab1 = [A,B,B,B,D,D];
var results = new Array();
          
          for (var j=0; j<tab1.length; j++) {
              var key = tab1[j].toString(); // make it an associative array
              if (!results[key]) {
                  results[key] = 1
              } else {
                  results[key] = results[key] + 1;
              }
          }
          
          var str = ""; // affiche le résultat des occurences
          for (var j in results) {
               str += "\t" + j + ": " + "\t" + results[j] + "\n"
          }
          alert(str);


Le résultat me sort un alert avec A:1;B:3;D:2

Moi j'aimerais pouvoir exploiter le résultat en fonction de mon tableau de référence tabRef
pour avoir le résultat suivant : A:1;B:3;C:0;D:2

Une fois ce résultat, je souhaiterais leur appliquer un calcul de pourcentage pour avoir le résultat suivant :
var A%=16,6%
var B%=50%
var C%=0%
var D%=33.3%

Je pense qu'il faut faire un tableau multidimension, mais pas si sûr que ça et comment faire.

Merci d'avance pour les contributions.
Bonjour,
j'ai du mal à comprendre ce que tu cherche à faire. Pour faire un tableau multidimensionnel tu peux procéder ainsi:
var table=Array(Array('A','B','C'),Array('D','E','F'),Array('G','H','I'));

Cela construit un tableau à deux dimensions de la forme:
upload/43453-table2.png

Ainsi:
table[0][0]=='A';
table[0][1]=='B';
table[0][2]=='C';
tabIe[1][0]=='D';
table[1][1]=='E';
etc...


Si tu veux connaître le nombre d'éléments dans un tableau il suffit de faire:
table.length
lci:
table.length==3;


Si tu veux connaître le nombre de dimensions d'un tableau (en admettant que chaque éléments de la
première dimension comprenne le même nombre de dimensions) voilà la fonction que je te propose:
function arrayDim(array) {
    for(var dim=0; array[1]!==undefined; dim++) array=array[1];
    return dim;
}


Si tu veux connaître la valeur moyenne des éléments d'un tableau (il faut bien sûr que ces éléments soient des nombres), voilà une autre fonction:
function arrayMoy(array) {
    var S=0;
    for(var i=0; i<array.length; i++) S+=array[ i ];
    var moy=S/array.length;
    return moy;
}


Voilà, j'espère que tu parviendras à t'en sortir avec ça. Smiley cligne
Modifié par juliendargelos (08 May 2014 - 17:31)