javascript - Angular JS Ng 重复问题

标签 javascript angularjs

我有一个场景,比如我想显示仅在一个数组中可用的内容,如果它存在于另一个数组中,则无需显示它。

我的html就像

<div ng-repeat="array1Value in array1">
    <div ng-repeat="array2Value in array2">
        <div ng-if="isNotFound(array1,array2Value.id)">
            <span>{{array2Value.name}}</span>
        </div>
    </div>
</div>

我的js类就像

var app = angular.module("MyApp",{});

app.controller("MyController",function($scope) {
    $scope.array1 = [
        {
            id:"1",name:"one"
        },
        {
            id:"2",name:"two"
        },
        {
            id:"3",name:"three"
        }
    ];

    $scope.array2 = [
        {
            id:"1",name:"one"
        },
        {
            id:"2",name:"two"
        },
        {
            id:"4",name:"four"
        }
    ];

    $scope.alreadyPrinted = [{}];

    $scope.isNotFound = function(array,value){
        for(i = 0; i < array.length; i++){
            if (value === array[i].id) {
                return false;
            }
        }

        if($scope.alreadyPrinted.indexOf(value) > -1){
            return false;
        } else {   
            $scope.alreadyPrinted.push(value);
            return true;
        }
    }
});

我只需要四个作为我的输出。但到目前为止,还没有任何进展。请帮我解决这个问题。

最佳答案

您需要删除外部循环...试试这个:

<div ng-repeat="array2Value in array2">
    <div ng-if="isNotFound(array1,array2Value.id)">
        <span>{{array2Value.name}}</span>
    </div>
</div>

关于javascript - Angular JS Ng 重复问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32007759/

相关文章:

javascript - 整数被错误地解析为字符串

javascript - 图像在滚动中淡入

javascript - 在 CSS 中更改图像?

javascript - 如何将 Yeoman 应用程序推送到服务器

javascript - getDOM() 在 Angular 2 规范中如何工作

javascript - 错误 : [ng:areq] Argument 'addCtrl' is not a function, 未定义

javascript - 无法从指令访问 Controller 范围

angularjs - 如何使用手机号码和 otp ionic 框架应用程序对用户进行身份验证

css - 使用 Angular 创建动态类

javascript - 在网站上创建一个链接以发布到 "ifttt.com"但保留在我的网站上