我有一个与filter数据的countJSON object有关的问题。

在SIT = filter的情况下,如何countobjects false?在示例数据中,该值为3。

和计数的SIT总数是多少?在示例数据中,该值为4。

我想对PROD做同样的事情。

我尝试了以下方法:

var SIT = response.filter(function (obj) {
    return obj.environment === "SIT";
});




var SIT = [];
SIT = response.data.cis.filter(function (obj) {
    return obj.environment === "SIT";
});


这是我的数据:

{
  "cis": {
    "dsbgchop193": {
      "environment": "SIT",
      "is_compliant": false
    },
    "dsbgchop194": {
      "environment": "SIT",
      "is_compliant": true
    },
    "dsbgchop195": {
      "environment": "SIT",
      "is_compliant": false
    },
    "dsbgchop196": {
      "environment": "SIT",
      "is_compliant": false
    },
    "id": "2017.10.17",
    "psbgwais1v": {
      "environment": "PROD",
      "is_compliant": false
    },
    "psbgwais2v": {
      "environment": "PROD",
      "is_compliant": false
    },
    "rsbgwais1v": {
      "environment": "PROD",
      "is_compliant": false
    },
    "rsbgwais2v": {
      "environment": "PROD",
      "is_compliant": true
    }
  },
  "rating": "",
  "ssl": {}
}

最佳答案

var data = {
  "cis": {
    "dsbgchop193": {
      "environment": "SIT",
      "is_compliant": false
    },
    "dsbgchop194": {
      "environment": "SIT",
      "is_compliant": true
    },
    "dsbgchop195": {
      "environment": "SIT",
      "is_compliant": false
    },
    "dsbgchop196": {
      "environment": "SIT",
      "is_compliant": false
    },
    "id": "2017.10.17",
    "psbgwais1v": {
      "environment": "PROD",
      "is_compliant": false
    },
    "psbgwais2v": {
      "environment": "PROD",
      "is_compliant": false
    },
    "rsbgwais1v": {
      "environment": "PROD",
      "is_compliant": false
    },
    "rsbgwais2v": {
      "environment": "PROD",
      "is_compliant": true
    }
  },
  "rating": "",
  "ssl": {}
}

var statistics = Object.keys(data.cis).reduce(function (stats, key) {
  var item = data.cis[key];
  if (item.environment === 'SIT') {
    stats.totalCount += 1;

    if (item.is_compliant) {
      stats.compliantCount += 1;
    }
  }
  return stats;
}, { totalCount: 0, compliantCount: 0 });

console.log('statistics : ', statistics);

.as-console-wrapper { max-height: 100%!important; top: 0; }

10-07 15:52
查看更多