Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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数组中删除ajax_Javascript_Arrays_Ajax_Variables - Fatal编程技术网

完成后如何从javascript数组中删除ajax

完成后如何从javascript数组中删除ajax,javascript,arrays,ajax,variables,Javascript,Arrays,Ajax,Variables,如何在jQuery完成时从数组中删除延迟的jQuery?我有: myarray[key]=$.ajax({ }).done(function(response){ // work with response, // then delete myarray[key]; }); 这不起作用: var myvar=function(){ if(myvar){ alert(1); } } 对于检查变量是否已设置的事件,似乎必须完成声明,因此在变量声明中删除变量不应该起作用

如何在jQuery完成时从数组中删除延迟的jQuery?我有:

myarray[key]=$.ajax({

}).done(function(response){

 // work with response,
 // then delete myarray[key];

});
这不起作用:

var myvar=function(){
  if(myvar){
    alert(1);
  }
} 

对于检查变量是否已设置的事件,似乎必须完成声明,因此在变量声明中删除变量不应该起作用。如何删除变量,超时?

这取决于myarray是数组还是对象。如果它是一个物体,你可以

delete myarray[key];
但是如果它是一个数组,那么它就有点复杂了。John Resig写了一篇关于数组元素移除的文章

如果你想做得更简单,而且它是一个数组,你可以用

myarray[key] = undefined;
但您应该注意,执行此操作时,
myarray
不会变小

$.ajax
返回延迟对象,
.done()
返回不同的延迟对象。最佳情况下,您可以执行以下操作:

myarray[key]=$.ajax({

});
myarray[key].done(function(response){
 // work with response,
 // then delete myarray[key];
});

为什么不干脆
删除myarray[key]
?你的问题不清楚。你能发布更多的代码,这样我们就不必在黑暗中拍摄(这里有很多可能的问题)?代码会在ajax上正确执行吗?在声明的同一个数组键中完成?我的假设是它不起作用,这与我在问题中发布的不起作用有关。