Javascript 条件为真时如何增加变量

Javascript 条件为真时如何增加变量,javascript,arrays,angularjs,object,Javascript,Arrays,Angularjs,Object,如果条件为真,我希望增加变量 我有一个对象,它有如下信息 {id: 1, payment: pending} {id: 2, payment: paid} 以下是我迄今为止所做的工作: var currentIndex = 0; $scope.unpaid = 0; $scope.paid = 0; const getSessions = () => { loginService.getUser().then((response) => { var

如果条件为真,我希望增加变量

我有一个对象,它有如下信息

{id: 1, payment: pending}
{id: 2, payment: paid}
以下是我迄今为止所做的工作:

var currentIndex = 0;
  $scope.unpaid = 0;
  $scope.paid = 0;

  const getSessions = () => {
    loginService.getUser().then((response) => {
      var user_id = response.data.id;
      console.log("getUser returning this => ", response.data);
      loginService.getUserSessions(user_id).then((response) => {
        var sessions = response.data;
        console.log(sessions);
        sessions.forEach(e => e.next_class = e.next_class.substring(0, 10));
        sessions.forEach(function (arrayItem) {
          if(arrayItem.payment === "Pending") {
            $scope.unpaid++;
          }else{
            $scope.paid++;
          };
      });
        $scope.new = sessions;
       Date($scope.class).toISOString().slice(0,10);
      })
    })
  };

  getSessions();
我可以为每个使用
循环对象,但我想循环对象并检查
支付
键。如果
付款==待定
存储在
未付款
,如果
付款==已付款
则存储在
已付款

前端将显示有多少未付费会话和付费会话以数字形式显示,例如:

Unpaid 1

Paid 1

我假设对象在一个数组中,我也会假设它被称为
支付

var paid = 0;
var unpaid = 0;

var payments = [{id: 1, payment: 'paid'}, {id: 2, payment: 'unpaid'}, {id: 3, payment: 'unpaid'}];

for (var payment in payments) { // iterate through all payments
    if (payments[payment].payment == 'paid') { // if the person has paid
        paid++; // count a payment
    } else { // if the person hasn't paid
        unpaid++; // count a non-payment
    }
}

console.log("Paid: " + paid + ", Unpaid: " + unpaid);
此外,您可能应该将
付款
设置为布尔值,并将其称为
已付款
,其中true表示此人已付款,false表示未付款。
如果这样做,则可以将If条件更改为
If(payments[payment].payment){…}
。好多了

编辑我的示例,您可以运行该示例,并让我知道它是否有意义!所以它确实有效,但出于某种原因,当我删除会话时,它仍然会增加未付变量。如果删除会话并希望更新付费和未付费变量,则需要将其重置为0,然后再次运行相同的过程。此代码不会自行更新。