在对象中存储一系列值的有效方法?

时间:2014-03-14 09:21:41

标签: javascript jquery html oop

我想列出发送到服务器的每个请求,现在我将每个请求存储在一个id为的对象中。

//code sample that explain my context
function handleReq(){
this.list={};

}

var reqhandler = new handleReq;

//adding each request like this
reqhandler.list[req.id] = req;

问题是我的应用程序发出了很多请求(即数千个)。如果用户更多地使用应用程序,则按比例增加对象大小。

现在我想知道,这是存储请求的最佳方式吗?

如果不好,请提出一些替代方案?

2 个答案:

答案 0 :(得分:0)

如果您不需要通过ID访问请求,为什么不使用数组:

function handleReq(){
    this.list=[];
}

var reqhandler = new handleReq;

reqhandler.list.push(req);

显然,如果您需要将请求保留在当前页面的生命周期之外,您需要将请求保留在浏览器中的localstorage或某些服务器端存储库中,但是从您的问题的声音我不认为情况确实如此。

答案 1 :(得分:0)

做这样的事情怎么样:

var requestLogger =  (function(){

  var logArray = [];
  var logObj = {};
  logObj.add = function(obj){
    logArray.push(obj);
  }; 

  logObj.get = function(){
    return logArray;
  };
  logObj.getById = function(id){
    //return log elemnt by id from array.
  };
  return logObj;

}());



requestLogger.add("new request id");
console.log(requestLogger.get());

http://jsbin.com/gucuzohu/1/