[英]How to compare all nested child elements length with each other?
我有一个包含嵌套子的对象,如下所示:
$scope.artists.materials.items[] //contains list of items
现在我会有几个艺术家将包含项目列表,但在此我想检查每个艺术家项目的总长度,如果发现不匹配,那么我想返回真或假。
例如 :我有2个艺术家,从这个Artist1包含2个项目,Artist2只包含1个项目然后这是一个不匹配,因为我想让艺术家包含相同数量的项目。
但在这里,我对如何以AngularJS方式进行所有这些比较感到困惑。
码:
function checkItemsValidity() {
angular.forEach($scope.artists, function (artist) {
alert(artist.materials.items.length);
});
}
我怎样才能更好地做到这一点?
如果所有艺术家必须拥有相同数量的items
,那么只需存储第一位艺术家的items
长度,并确保所有这些items
都具有相同的items
长度。 就像是:
更新了评论中的建议
function checkItemsValidity() {
var itemsLength = $scope.artists[0].materials.items.length;
angular.forEach($scope.artists, function (artist) {
if(artist.materials.items.length != itemsLength) {
return false;
}
});
return true;
}
Lex答案的改进:如果找到第一个差异,如果没有理由通过其余部分,则不需要isValid
变量。
function checkItemsValidity() {
var len = $scope.artists[0].materials.items.length;
for (var i = 0; i < $scope.artists.length; i++) {
if ($scope.artists[i].materials.items.length != len) {
return false;
}
}
return true;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.