如果我在 javascript 中搜索对象数组,为什么之前的结果仍在内存中?我得到以下代码:
function findTasks( date ) {
var result = $.grep( tasks[current].tasks, function( task ) {
return task.date == date;
});
return result;
}
当我触发此方法并将其分配给变量时:
var result = findTasks('24-12-2012');
// The hardcoded date is for demonstration (it is dynamic in my application)
console.log( result );
然后每次我执行该findTasks()
方法时,都会保留我之前搜索的结果。即使我执行以下操作:
function findTasks( date ) {
var result = null; // Notice this line
var result = $.grep( tasks[current].tasks, function( task ) {
return task.date == date;
});
return result;
}
结果也保持不变。
编辑: 每次 findTasks() 方法触发时,必须返回最新结果。而不是先前方法调用的返回。