javascript - 遍历 Javascript 对象并计数

标签 javascript json angularjs

我有这个 javascript 对象。如何遍历其属性并计算一个特定值的数量?

    angular.module('App',[])
        .controller('mainCtrl', ['$scope', function ($scope) {

           var data = {  
   "plans":[  
      {  
         "id":1,
         "code":"NEXT_DAY_500gm",
         "name":"Next Day less than 500gm",
         "cost":55,
         "duration":24,
         "min_weight":0,
         "max_weight":500,
         "COD":1,
         "created_at":"-0001-11-30 00:00:00",
         "updated_at":"-0001-11-30 00:00:00"
      },
      {  
         "id":2,
         "code":"NEXT_DAY_500gm_1kg",
         "name":"Next Day 500gm to 1kg",
         "cost":70,
         "duration":24,
         "min_weight":501,
         "max_weight":1000,
         "COD":1,
         "created_at":"-0001-11-30 00:00:00",
         "updated_at":"-0001-11-30 00:00:00"
      },
      {  
         "id":3,
         "code":"NEXT_DAY_1kg_2kg",
         "name":"Next Day 1kg to 2kg",
         "cost":95,
         "duration":24,
         "min_weight":1001,
         "max_weight":2000,
         "COD":1,
         "created_at":"-0001-11-30 00:00:00",
         "updated_at":"-0001-11-30 00:00:00"
      },
      {  
         "id":4,
         "code":"SAME_DAY_500gm",
         "name":"Same Day less than 500gm",
         "cost":95,
         "duration":8,
         "min_weight":0,
         "max_weight":500,
         "COD":1,
         "created_at":"-0001-11-30 00:00:00",
         "updated_at":"-0001-11-30 00:00:00"
      },
      {  
         "id":5,
         "code":"SAME_DAY_500gm_1kg",
         "name":"Same Day 500gm to 1kg",
         "cost":130,
         "duration":8,
         "min_weight":501,
         "max_weight":1000,
         "COD":1,
         "created_at":"-0001-11-30 00:00:00",
         "updated_at":"-0001-11-30 00:00:00"
      },
      {  
         "id":6,
         "code":"SAME_DAY_1kg_2kg",
         "name":"Same Day 1kg to 2kg",
         "cost":165,
         "duration":8,
         "min_weight":1001,
         "max_weight":2000,
         "COD":1,
         "created_at":"-0001-11-30 00:00:00",
         "updated_at":"-0001-11-30 00:00:00"
      }
   ]
};  
          $scope.data1=data;       
       }]);

我的想法是我想计算“状态”字段为“完成”的次数并将该计数分配给一个变量。说如果完成是 4 倍我的销售额将等于 4。我该怎么做?有什么提示吗?

最佳答案

这里需要使用过滤器:

var count = data.filter(function(obj) {
    return obj.status === 'COMPLETED';
}).length;

console.log(count);

关于javascript - 遍历 Javascript 对象并计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33011457/

相关文章:

javascript - 如何告诉 Protractor 忽略特定的异步 Angular 任务?

javascript - 用于选择多个值的选择框的 HTML5 Local Storage 存储表单数据

javascript - 如何让JS更加随机?

javascript - 使用 jQuery 读取 JSON 数组

javascript - AngularJs ng 显示不工作

javascript - 可用性日历 jQuery(?)

java - java/webservice(json) 中的字符串中的空格会产生不同的字节数组

php - Laravel-将Guzzle JSON响应保存到数据库

javascript - AngularJS ng-绑定(bind)到动态变量名称

javascript - 如何过滤带有多个参数的json对象?