I'm attempting to export a module that should store a hashtable of given information so that another call to access that information can be checked for existence in the hashtable, and if found, return the value in the hashtable.
I am having trouble getting the hashtable in the export to remain consistent throughout the app as a singleton/static/global variable.
Here's what I have:
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;
And when I try to access it with:
var randomize = require('randomize');
/* ... */
console.log(randomize.randomize(rows))
It creates a new hashtable for each instance. How can I make it so that it reuses the same instance of hashtable?
I'm attempting to export a module that should store a hashtable of given information so that another call to access that information can be checked for existence in the hashtable, and if found, return the value in the hashtable.
I am having trouble getting the hashtable in the export to remain consistent throughout the app as a singleton/static/global variable.
Here's what I have:
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;
And when I try to access it with:
var randomize = require('randomize');
/* ... */
console.log(randomize.randomize(rows))
It creates a new hashtable for each instance. How can I make it so that it reuses the same instance of hashtable?
Share Improve this question asked Feb 27, 2015 at 19:54 Zach KauffmanZach Kauffman 4961 gold badge5 silver badges17 bronze badges 2-
Just store it in a variable
var result = randomize.randomize(rows);
– adeneo Commented Feb 27, 2015 at 19:57 - all you show is an empty array named hashTable. what happens after that? – user2524973 Commented Feb 27, 2015 at 21:07
1 Answer
Reset to default 4Your hashtable might be in the wrong scope - it's possibly being clobbered with each require
. Try this instead:
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;
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1742320917a4421790.html
评论列表(0条)