2015-02-27 18 views
5

Ich versuche, ein Modul zu exportieren, das eine Hashtabelle mit bestimmten Informationen speichern sollte, damit ein anderer Aufruf für den Zugriff auf diese Informationen auf Vorhandensein in der Hashtabelle überprüft werden kann Wert in der Hashtabelle.Node.js - Modul exportiert statische Variable

Ich habe Probleme, die Hashtabelle im Export einheitlich in der App als Singleton/static/global Variable zu erhalten.

Hier ist, was ich habe:

var Randomize = { 

    hashTable: [], 
    randomize: function(rows) { 

    var randomized = []; 
    for(var i in rows) { 
     //check if exists in hashtable, use values accordingly 
    } 
    return randomized; 
    } 

}; 

module.exports = Randomize; 

Und wenn ich versuchen, darauf zuzugreifen mit:

var randomize = require('randomize'); 
/* ... */ 
console.log(randomize.randomize(rows)) 

Es schafft eine neue Hash-Tabelle für jede Instanz. Wie kann ich es so einrichten, dass es die gleiche Instanz der Hashtabelle wieder verwendet?

+0

einfach speichern sie in einer Variable 'var result = randomize.randomize (Zeilen);' – adeneo

+0

alles, was Sie zeigen, ist ein leeres Array namens Hash-Tabelle. Was passiert danach? – lispHK01

Antwort

4

Ihre Hashtabelle könnte im falschen Bereich liegen - möglicherweise wird sie mit jedem geplottert. Versuchen Sie stattdessen:

var hashTable = []; 

var Randomize = { 

    hashTable: hashTable, 
    randomize: function(rows) { 

    var randomized = []; 
    for(var i in rows) { 
     //check if exists in hashtable, use values accordingly 
    } 
    return randomized; 
    } 
}; 

module.exports = Randomize;