Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Array Multidimensionali

    ola gente,
    spiego brevemente il problema:
    ho una array con dei valori, mi serve di raggruppare tutti i valori uguali, es:
    a[0]="ciao";
    a[1]="pippo";
    a[2]="asd";
    a[3]="pippo";
    diventerebbe:
    u[[ciao,1],[pippo, 2],[asd,3]];

    smacchinando un po' ho tirato fuori questo:

    codice:
    referList = "asd|asdg|asdasd|asdeggdf|asd|asdasd|dfgfdg|asdasdfasdg|asd|";
    referLista = new Array();
    franco = new Array();
    referLista = referList.split('|');
    firstLap = true;
    for (t = 0; t < (referLista.length - 1); t++) {
    	a = referLista[t];
    	for (i = 0; i <= referLista.length; i++) {
    		b = false;
    		if (firstLap) {
    			firstLap = false;
    			franco[i] = [a, 1];
    		} else {
    			if (franco[i][i, 0] == a) {
    				franco[i][i, 1]++;
    				b = true;
    			}
    			if (i == franco.length and b == false) {
    				s = i + 1;
    				franco[s][s, 0] = a;
    				franco[s][s, 1] = 1;
    			}
    		}
    	}
    }
    trace(franco);
    ma funziona solo parzialmente..
    qualcuno mi sa aiutare?

    grazie

  2. #2
    ciao dioz...
    che intendi per valori uguali?
    mi spiego...
    Franco[0]=Gino[0] quindi stessa posizione della matrice...
    oppure in base al valore quindi...
    Franco[2]=Gino[5]?
    leggendo il post mi sembra la prima :master:

  3. #3
    mettendo come hai detto te:
    referList = " Uno|Uno|Due|Tre|Quattro|Cinque|Sei|Sette|Otto|Nove |";
    referLista = new Array();
    franco = new Array();
    referLista = referList.split('|');
    for (t=0; t<(referLista.length-1); t++) {
    franco[t] = [referLista[t], 1];
    }
    trace(franco);

    l'output è:
    Uno,1,Uno,1,Due,1,Tre,1,Quattro,1,Cinque,1,Sei,1,S ette,1,Otto,1,Nove,1

    a me invece serve che sia:

    Uno,2,Due,1,Tre,1 etc etc..

    ossia devo sapere quante volte viene ripetuto ogni valore del primo array, spero di essermi spiegato

  4. #4
    codice:
    Array.prototype.find = function(val, pos) {
    	pos = pos == undefined ? 0 : pos;
    	for (i=0; i<this.length; i++) {
    		if (this[i] instanceof Array) {
    			if (this[i][pos] == val) {
    				return i;
    			}
    		} else {
    			if (this[i] == val) {
    				return i;
    			}
    		}
    	}
    };
    referList = "Uno|Uno|Due|Tre|Quattro|Cinque|Tre|Tre|Otto|Nove|";
    referLista = new Array();
    franco = new Array();
    referLista = referList.split('|');
    for (t=0; t<(referLista.length-1); t++) {
    	i = franco.find(referLista[t]);
    	if (i != undefined) {
    		franco[i][1]++;
    	} else {
    		franco.push([referLista[t], 1]);
    	}
    }
    trace(franco);
    risultato:
    Uno,2,Due,1,Tre,3,Quattro,1,Cinque,1,Otto,1,Nove,1
    [Il mio sito V2]
    ___________________
    I.m.The.Magic.Man

  5. #5
    veramente a me restituisce
    Uno,1,Uno,1,Due,1,Tre,3,Quattro,1,Cinque,1,Otto,1, Nove,1
    :master:

  6. #6
    se hai fatto copia-incolla attento allo spazio all'inizio della stringa.
    [Il mio sito V2]
    ___________________
    I.m.The.Magic.Man

  7. #7
    facendo così salta il controllo sul primo oggetto

  8. #8
    in che senso salta il controllo sul primo oggetto?
    [Il mio sito V2]
    ___________________
    I.m.The.Magic.Man

  9. #9
    stringa ipotetica:
    referList = " Uno|Uno|Due|Tre|Quattro|Cinque|Tre|Tre|Otto|Nove|U no|";

    l'output è:

    Uno,1,Uno,2,Tre,1 etc etc

    ossia, ignora se il primo valore è ripetuto

  10. #10
    non lo ignora, sono diversi:

    " Uno" è diverso da "Uno"
    [Il mio sito V2]
    ___________________
    I.m.The.Magic.Man

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.