我有一个JSON文件并对其进行迭代。如果有一列称为“ validation”:{“ required”},那么我在如下所示的变量中添加一个计数:
for (var a= 0; a<66; ++a) {
var requiredFieldsInPart = 0;
for (var b=0; b<$scope.groups[a].sections[0].fields.length; ++b) {
try {
throw console.log($scope.groups[a].sections[0].fields[b]["validations"]["required"]);
}
catch (e) {
console.log(e);
}
requiredFieldsInPart += 1;
}
我使用try / catch的原因是因为如果有错误,我想通过。有些对象没有“验证”属性,因此导致错误。
假设一个部分中共有21个字段,其中19个字段具有"validations"
和2个不具有"validations"
。因此requiredFieldsInPart
应该返回19。但是,它现在返回21。我如何确保它只计数带有"validations"
??的对象?
我将通过过滤源数组并返回结果的大小来继续进行操作:
return $scope.groups.filter(group =>
group.sections[0].fields[b].validations &&
group.sections[0].fields[b].validations.required
).length
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句