我试图导出一个应该存储给定信息哈希表的模块,以便可以检查另一个访问该信息的调用是否存在于哈希表中,如果找到,则返回哈希表中的值。 / p>
我无法在导出中获取哈希表,以便在整个应用程序中保持一致,作为单例/静态/全局变量。
以下是我所拥有的:
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;
当我尝试使用以下方式访问它时:
var randomize = require('randomize');
/* ... */
console.log(randomize.randomize(rows))
它为每个实例创建一个新的哈希表。我怎样才能使它重用哈希表的相同实例?
答案 0 :(得分:4)
您的散列表可能位于错误的范围内 - 它可能会被每个require
破坏。试试这个:
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;