我寫了一個用於預先刪除對象的函數。正確的方法來刪除node.js數組中的對象?
function add(variable, expireSecond){
this.list[variable] = {"expireSecond": expireSecond, "addTime": (new Date().getTime())/1000};
}
function deleteExpiredObject(){
var currentTime = (new Date().getTime())/1000;
for (var key in this.list) {
var item = this.list[key];
if (item.expireSecond + item.addTime < currentTime){
delete this.list[key];
}
}
}
當我使用它,我試圖做到以下幾點:
add(xxx[1], 300);
但是,當我打電話deleteExpiredObject()
,似乎對象結束後的記憶是不是免費的。是否由於xxx[1]
中的對象的非零引用?怎麼解決?有沒有我可以使用的圖書館?
謝謝!
我收集'this.list'是一個對象?您似乎跟蹤具有數據結構的項目,然後只刪除跟蹤保持結構。你可能想要這個接口'set(name,value,expiryTime),var value = get(name)'。 – 2012-03-24 13:52:30