繁体   English   中英

JavaScript逻辑中的小问题

[英]Small issue in javascript logic

我有一个数组对象

var data.responseText=[{"_id":"xyz","stat":"true"},{"_id":"xyz","stat":"true"},
{"_id":"xyz","stat":"false"}]

我需要在此数组对象中检查是否有任何带有“ stat”:“ false”的数组。如果找到,我将进行管理。否则,我将该数组设置为null。 整体而言,还有另外一件事,如何在2分钟的计时器后调用此函数。

function getdata(){
return $.ajax({
type:"GET",
url:"url"**
});
}//how to call this function after 2 mins
var data.responseText=getdata;
//after getting that data how can I search for that above mentioned

有人可以帮忙!

您可以使用filter获取stat值为false的数组。 filter将返回一个新数组。 检查阵列的长度。 如果大于0,则存在一个stat ,该stat的值为false,否则将没有具有该值的此类键

var responseText = [{
  "_id": "xyz",
  "stat": "true"
}, {
  "_id": "xyz",
  "stat": "true"
}, {
  "_id": "xyz",
  "stat": "false"
}]

var haveFalse = (responseText).filter(function(item,index){
   return item['stat'] === 'false'


})
console.log(haveFalse.length)

如果尚未定义datavar data.responseText将引发错误

以下内容均包含在内,一个是3秒钟的计时器作为参考,另一个是用于检查false并将所有其他元素更改为null的计时器。 在您的代码中构建这两种逻辑以实现目标,如果进一步怀疑,请发表评论

 var responseText=[{"_id":"xyz","stat":"true"},{"_id":"abc","stat":"true"}, {"_id":"def","stat":"false"}]; setTimeout(function(){ $(responseText).each(function(x,y){ if(y["stat"]=="false"){ console.log(y); }else{ responseText[x]=null; } }); console.log(responseText);},3000); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM