javascript - 当满足某些条件时,如何获取数组的长度?

标签 javascript javascript-objects

当向 API 发出 AJAX GET 请求后满足某些条件时,我尝试打印出长度。我不确定我是否做得正确。我不确定你是否可以帮助我,但我想我会尝试一下,因为我被困住了。

该代码表示​​当 UserID 与 LocalStorage UserID 匹配时,循环遍历 IsClosed 为 False 且问题在过去 24 小时内发生的所有问题。另外, isAfter 也不起作用。有人可以对此提出建议吗?

此外,如果您需要我提供任何其他信息,请告诉我。谢谢。

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

remember .each is asynchronous so if you check the counter right away it might not be set -- you would have to use a promise to guarantee the loop had finished.

关于javascript - 当满足某些条件时,如何获取数组的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58884020/

相关文章:

Javascript - 将类实例保存到哈希表/对象中并使用键实例函数

javascript - 为什么我的 JavaScript setter 没有按预期更改对象属性?

JavaScript 对象继承问题

javascript - Onsen UI - 提交表单问题

c# - 如何在重定向页面之前获取警报消息

javascript - 显示和隐藏具有多个类名的 div jquery 复选框

Javascript jquery 如何查找 html 元素的坐标?

javascript - ReactJS组件什么时候写 "function"?

javascript - 使用 JavaScript 以递归方式从对象中删除属性和值的最快方法是什么?

javascript - 根据多个属性从对象数组中过滤重复项,包括原始值