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

Discussione: Hash Table

  1. #1

    Hash Table

    Ciao a tutti, devo creare un vettore che contiene degli errori, cioè contiene la sintassi dell'errore, e x indice di questo array uso il codice dell'errore, cioè V[0]= Errore.... dove lo "0" è il codice dell'errore e Errore..... è la sintassi dell'errore (tipo errore caricamento, manca inserimento e così via). Siccome però non ho trovato nulla di utile al mio scopo anzi mi è rimasto ancora un pò difficile il concepimento di queste hashtable chiedo a voi un aiuto grazie mille a tutti...
    Emix!!

  2. #2
    http://docs.mootools.net/Native/Hash

    (Magari ne ho convertito uno... ;-P)

  3. #3
    Grazi del link, però volevo dirti un altra cosa, sempre che non disturbo, io devo crearmi un vettore che contiene degli elementi a seconda dell'indice che indico deve apparirmi la stringa memorizzata all'interno del vettoree ho due problemi:
    1)Questo pezzo di codice non funziona e non capisco perchè

    //Istanzio il vettore e gli assegno dei valori per ogni elemento;
    alert('Sono entrato in maincss');
    var Errori = new Array();
    alert('Ho istanziato il vettore');
    function getMessaggio()
    {
    alert('Assegno dei valori al vettore');
    Errori['0'] = "Errore: Dati mancanti";
    Errori['1'] = "Errore: Codice fiscale errato";
    Errori['2'] = "Errore: Data di nascita errata";
    }

    //Visualizzo solo l'elemento che mi interessa;
    alert('Sto per stampare un elemento del vettore');
    function setMessaggio()
    {
    alert('Ho finito!!');
    }
    Gli alert li inserisco io per vedere dove si ferma il programmae mi si pianta prima di entrare nell'ultima function;
    2)A me serve da passare in entrata ad una funzione un vettore poi a seconda degli errori che si commettono devo stampare solo undeterminato elemento del vettore come posso fare??
    3)Grazie ancora del link ora continuo a leggerlo....
    Emix!!

  4. #4
    Ah dimenticavo, una volta instanziata l'hashtable, io ricavo due valorila chiave e l'elemento associatoa quella chiave, (se non ho capito male...) a me serve di porre un controllo su quella chiave e soprattuto mi serve che la chiave con valore 0 sia il primo elemento del mio array e così via come posso fare??
    Emix!!

  5. #5
    decisamente non ti sono chiare un paio di cosa:

    1- Nel codice da te postato definisci 2 funzioni ma non le chiami, questo significhe che i dati che setti nella funzione getMessaggio non verranno mai impostati. Devi chiamarle quelle funzioni.
    2- Penso che faresti meglio a settare l'array nello scope window (cioè fare var Errori = new Array(); fuori da qualunque funzione, in modo che sia accessibile in qualunque momento) per poi passare solo la chiave da cercare con Errori[chiave] alla funzione.
    3- (messaggio dopo) Se indichi stringhe come chiavi (array associativi) non avrai mai il controllo sugli indici, ma, alla fine, a te non importa, dato che l'unica cosa che ti serve per identificare il valore è la chiave. Piuttosto potresti pensare ad usare chiavi numeriche (da 0 a n) in modo da velocizzare le ricerche ed anche allargare l'idea stessa dell'errore: nel codici di errore di solito 0 indica nessun errore, mentre i numeri successivi sono un codice che indica un errore.

    A questo punto puoi semplicemente ritornare un integer dalla funzione che indica sia se c'è stato un errore (returnFunct == 0 no error) sia il testo da mostrare all'utente ( alert(Errori[returnFunct]); )

  6. #6
    1) Allora, è vero che non le chiamo ma come mai, nella prima mi entra e nella seconda no??
    2) L'istanziazione del vettore risulta fuori da qualsiasi funzione è la prima cosa che ho fatto;
    3) Ho capito quello che intendiam mi sono perso il finale, cioè come implemento quello che mi stai dicendo??
    4)var myHash = new Hash([Errori]); dove Errori è il mio array; con questo si istanzia l'hash, poi ho visto che la funzione map poteva essermi utile ma non capisco come faccio ad associare la chiave all'indice del vettore e gli elementi all'elemento del vettore;


    Emix!!

  7. #7
    Originariamente inviato da Emix_69
    1) Allora, è vero che non le chiamo ma come mai, nella prima mi entra e nella seconda no??
    Se dici così perché esce l'alert('Ho istanziato il vettore'); è meglio che rileggi il codice...
    2) L'istanziazione del vettore risulta fuori da qualsiasi funzione è la prima cosa che ho fatto;
    Allora non devi far altro che chiamare Error[indice] in qualsiasi punto per ottenere la stringa
    3) Ho capito quello che intendiam mi sono perso il finale, cioè come implemento quello che mi stai dicendo??
    Intendevo dire solo che puoi far tornare un numero alle funzioni di controllo, 0 se va tutto bene altrimenti il codice dell'errore, ed in base a quel numero mostri il messaggio di errore corrispondente o vai avanti in caso di 0.
    4)var myHash = new Hash([Errori]); dove Errori è il mio array; con questo si istanzia l'hash, poi ho visto che la funzione map poteva essermi utile ma non capisco come faccio ad associare la chiave all'indice del vettore e gli elementi all'elemento del vettore;
    Map non l'ho mai usato, ma, seriamente, penso che un Array numerico sia ancora la cosa più semplice.

  8. #8
    Per quanto riguarda l'array lo penso anch'io, però ho delle restrittive regolo da rispettare purtroppo, x le funzioni dico così perchè dentro alla prima senza chiamarla ci entra perchè mi da l'alert Assegno dei valori al vettore e solo sulla seconda che mi si pianta....
    poi volevo chiederti unaltra cosa, se do un valore ad una variabile dentro una pag js come faccioa riprenderlo dentro un altra pag js e dentro ad una html, cioè dentro ad un js setto la variabile errore per esempio, poi la confronto con gli indici dell'array se il valore è lo stesso devo stampare dentro una pag html il risultato come posso fare??
    Emix!!

  9. #9

  10. #10
    dunque, JS NON puoi mandarlo ad un altra pagina. L'unica cosa che puoi fare, è passarlo in GET o in POST, al momento del cambio:

    hai una form, metti una funzione sull'onSubmit che aggiunge un input hidden con name="js-value" e value="valore che devi passare".
    Oppure, se si tratta di un link, intercetti i link quando vengono cliccati, leggi l'href e fai window.location.href = linkHref+"?js-value=valore che devo passare";

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 © 2026 vBulletin Solutions, Inc. All rights reserved.