如何比较所有嵌套的子元素长度?

时间:2016-09-15 13:58:08

标签: javascript angularjs

我有一个包含嵌套子项的对象,如下所示:

$scope.artists.materials.items[] //contains list of items

现在我有几个艺术家将包含项目列表但在此我想检查每个艺术家项目的总长度,如果发现不匹配,那么我想返回真或假。

对于例如:我有2位艺术家,而且此艺术家1包含2个项目,而Artist2只包含1个项目,那么这是一个不匹配,因为我希望艺术家包含相同数量的项目。

但在这里我对如何以AngularJS方式进行所有这些比较感到困惑。

代码:

 function checkItemsValidity() {
        angular.forEach($scope.artists, function (artist) {
            alert(artist.materials.items.length);
        });
    }

我怎样才能更好地做到这一点?

2 个答案:

答案 0 :(得分:3)

如果所有艺术家必须拥有相同数量的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;
}

答案 1 :(得分:0)

对Lex答案的改进:如果找到第一个差异,如果没有理由通过其余的Content-Disposition变量就不需要。

isValid