lunedì 2 maggio 2011

Utilizzare hastable in javascript

In JavaScript non abbiamo alcun built-in hashtable. Ma hashtable è una struttura molto utile dato che spesso ne abbiamo bisogno. Anche se non abbiamo hashtable in JavaScript, è davvero molto semplice implementare una hashtable in JavaScript. In questo post, implementiamo un semplice hashtable. Sicuramente non useremo alcun loop per cercare gli articoli. Perché, in tal caso il vero scopo della hashtable non sarà ottenuto. In JavaScript, è possibile utilizzare la proprietà oggetto per ottenere l'oggetto Hashtable.
Prima di tutto vediamo i principi fondamentali dell'oggetto JavaScript e proprietà dell'oggetto.
Dichiarazione di un oggetto JavaScript:

Ci sono vie alternative di creazione di un oggetto JavaScript. Il più semplice è il seguente:
var HashTable = {};
Questo crea un oggetto semplice javascript che non ha proprietà. Possiamo anche creare un nuovo oggetto usando javascript.
var = HashTable new Object ();
Creazione di una proprietà di un oggetto:

Siamo in grado di creare una proprietà di un oggetto esistente come segue:
hashTable.id = 1;
hashTable.name = 'a hashtable' ;
Qui abbiamo due proprietà. Possiamo anche avere proprietà che sono una funzione.
hashTable.SetItem = function(chiave, valore) {
; / / implementare hashtable voce qui impostato sulla base di chiave
}
hashTable.GetItem = function(key) {
; / / implementare hashtable ottenere elemento chiave da qui
}
Accesso Javascript oggetto di proprietà:
E 'molto semplice capire che siamo in grado di accedere a una proprietà di un oggetto JavaScript, semplicemente utilizzando. Property_name.
hashTable.name
Ma c'è un altro modo di accedere alla proprietà.
hashTable['name']
hashTable['id']
hashTable['SetItem'](‘akey’, ‘aValue’);
hashTable['GetItem'](‘akey’));

Il vantaggio di utilizzare questo approccio,  possiamo usare come variabile l'indice. Così possiamo accedere alle proprietà dinamicamente in base alle variabili.
Implementazione HashTable:

Ora siamo in grado di generare facilmente Hashtable utilizzando le conoscenze di cui sopra.
var hashTable = {};
hashTable.SetItem = function(key, value) {
hashTable[key] = value;
}
hashTable.GetItem = function(key) {
return hashTable[key];
}
hashTable.SetItem(‘aKey’, ‘aValue’);
alert(hashTable.GetItem(‘aKey’));

Creazione di una classe Hashtable:

Usando il modo di cui sopra, non saremo in grado di utilizzare più hashtable, se abbiamo bisogno. Così possiamo creare una classe javascript hashtable.
function HashTable() {
var hashTableItems = {};
this.SetItem = function(key, value) {
hashTableItems[key] = value;
}
this.GetItem = function(key) {
return hashTableItems[key];
}
}
Possiamo usare la hashtable come segue:

var hashTable = new HashTable();
hashTable.SetItem(‘aKey’, ‘aValue’);
alert(hashTable.GetItem(‘aKey’));

var hashTable_new = new HashTable();
hashTable_new.SetItem(‘anotherKey’, ‘anotherValue’);
alert(hashTable_new.GetItem(‘anotherKey’));