【问题标题】:AngularJS Counting Number of Specific Items Starting With a Value in JSON DatasetAngularJS计算以JSON数据集中值开头的特定项目数
【发布时间】:2014-09-05 22:26:28
【问题描述】:

我有一组 JSON 数据:

"MyMessages": [
        {
            "Code" :  "N101",
            "ID" : "History",
            "Indicator" : "Down",
            "PosChangeMessage" : "test test test test",
            "NegReasonMessage" : "test test test test",
            "Image" : "ImageType.Warning"
        },

        {
            "Code" :  "P874",
            "ID" : "History",
            "Indicator" : "Up",
            "NegReasonMessage" : "test test test test",
            "Image" : "ImageType.Ok"
        },

        {
            "Code" :  "N85",
            "ID" : "Age",
            "Indicator" : "Down",
            "PosChangeMessage" : "test test test test",
            "Image" : "ImageType.Warning"
        },

        {
            "Code" :  "N846",
            "ID" : "Products",
            "Indicator" : "Up",
            "PosChangeMessage" : "test test test test",
            "Image" : "ImageType.Ok"
        },
    ],

我可以通过{{ MyMessages.length }}显示MyMessages中有多少项目

但我想知道有多少Code 项目以 P 和 N 开头。

所以,在上面的例子中:

P = 1

N = 3

我可以通过以下方式计算Code 元素的数量:

angular.forEach(MyMessages, function(message){

   if(message.Code){
       $scope.Number++;
   }
});

【问题讨论】:

    标签: json angularjs foreach angularjs-scope angularjs-ng-repeat


    【解决方案1】:

    您可以只对数组本身使用“过滤器”方法:

    var num_code_elements_p = MyMessages.filter(function(item) { 
                                  return item.Code.charAt(0) == 'P' ;
                              }).length
    var num_code_elements_n = MyMessages.filter(function(item) { 
                                  return item.Code.charAt(0) == 'N' ;
                              }).length
    

    【讨论】:

      【解决方案2】:
      if (message.Code[0] === "p") return true;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-23
        • 2017-07-21
        • 1970-01-01
        • 2016-01-21
        • 1970-01-01
        • 1970-01-01
        • 2023-03-29
        • 1970-01-01
        相关资源
        最近更新 更多