Javascript 当满足某些条件时,如何获得数组的长度?

Javascript 当满足某些条件时,如何获得数组的长度?,javascript,javascript-objects,Javascript,Javascript Objects,我试图在向API发出AJAX GET请求后,在满足某些条件时打印长度。我不确定我做得是否正确。我不确定你是否能帮我,但我想我会试试,因为我被卡住了 该代码表示当用户ID与LocalStorage用户ID匹配时,循环检查IsClosed为False且问题发生在过去24小时内的所有问题。此外,iAfter也不工作。有人能给我提个建议吗 另外,如果您需要我提供任何其他信息,请让我知道。多谢各位 function showNotificationCount(isLive, userIDNum, base

我试图在向API发出AJAX GET请求后,在满足某些条件时打印长度。我不确定我做得是否正确。我不确定你是否能帮我,但我想我会试试,因为我被卡住了

该代码表示当用户ID与LocalStorage用户ID匹配时,循环检查IsClosed为False且问题发生在过去24小时内的所有问题。此外,iAfter也不工作。有人能给我提个建议吗

另外,如果您需要我提供任何其他信息,请让我知道。多谢各位

function showNotificationCount(isLive, userIDNum, baseURL) {
  var userIDLogin = localStorage['userIDNum'];
  var userFullName = localStorage['userName'];
  // var webMethod = isLive ? 
  $.ajax({
    type: "GET",
    url: webMethod,
    contentType: "application/json; charset=utf-8",
    dataType: "JSON",
    data: {
      userID: userIDNum
    },
    success: function(data) {
      var parsedData = JSON.parse(data);
      var twentyFourHoursAgo = moment().subtract(1, 'day');
      console.log(parsedData);
      if (userIDLogin == userIDNum) {
        $.each(parsedData, function(index, item) {

          // # of open issues
          if (item.IsClosed == false) {
            if (moment(item.CreatedDate).isAfter(twentyFourHoursAgo)) {
              var openIssues = parsedData.length;
              console.log(openIssues);
              $('.openIssueCount').html(openIssues);

            }
          }

        });
      }

    },
    error: function(xhr, status) {
      console.log(xhr.responseText);
      console.log(xhr.status);
    }
  });
}

下面是一些示例代码,以显示我在注释中所说的内容。我不认为这是正确的——这正是我试图(但失败)用英语描述的

var hiImAcounter;

hiImAcounter = 0;

$.each(parsedData, function(index, item) {

      // # of open issues
      if (item.IsClosed == false) {
        if (moment(item.CreatedDate).isAfter(twentyFourHoursAgo)) {
          hiImAcounter++; 
          console.log(openIssues);
          $('.openIssueCount').html(openIssues);

        }
      }

    });
// hiImAcounter now has a count
记住,每个都是异步的,所以如果您立即检查计数器,它可能不会被设置——您必须使用承诺来保证循环已经完成


为什么有行
var openIssues=parsedData.length?逻辑不应该是一个计数器加一个吗。然后在循环结束时打印计数器值?你能给我一个简单的例子吗?我认为你必须创建一个属性来跟踪未解决的问题,并在if条件中增加此值,最后在每次循环结束后进行打印block@Hogan无论如何谢谢你!非常感谢您的回复。请发布AJAX请求的回复,谢谢。我收到了。非常感谢你今天抽出时间。