Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
结果保存在javascript数组中_Javascript - Fatal编程技术网

结果保存在javascript数组中

结果保存在javascript数组中,javascript,Javascript,如果我在javascript中搜索一个对象数组,为什么前面的结果仍然在内存中?我得到了以下代码: function findTasks( date ) { var result = $.grep( tasks[current].tasks, function( task ) { return task.date == date; }); return result; } 启动此方法并将其分配给变量时: var result = findTasks('24-

如果我在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()方法时,都必须返回最新的结果。而不是返回以前的方法调用。

您能详细说明一下吗?你的“问题”不是很清楚,你想让你的垃圾收集器早点启动吗?请记住,GC不需要在对象可供收集时立即释放对象。您能否在数组
tasks[current].tasks
中发布值以及调用
findTasks()
时使用的不同输入?您能否提供一个演示来显示您的问题?
var result=null几乎不起作用,因为当输入功能范围时,
结果
未定义的
。还要注意
结果的意外重新声明
。这也不会影响以前任何函数调用的
结果。