2017-09-21 1 views
1

두 개의 배열에 user_id가 있습니다. 하나는 프로젝트의 user_id이고 다른 하나는 user_id입니다.Angularjs에서 두 배열을 모두 일치시키는 방법과 일치하는 것을 표시해야합니까?

availableusers = ["00000000a447a9160c9d6b74", "000000005c05c11764445bdb"] 
selected Users = ["000000005c05c11764445bdb"] 

는 이제 배열 모두 일치 할 필요는 선택된 사업부에서 일치와 availabe의 사업부에서 타의 추종을 불허 표시 할 수 있습니다.

어떻게해야합니까?

+0

이에 AngularJS와 무엇 ? – hamzox

+0

[자바 스크립트 배열을 사용하여 집합 차이를 계산하는 가장 빠르고 가장 효과적인 방법은 무엇입니까?] (https://stackoverflow.com/questions/1723168/what-is-the-fastest-ormost-elegant- 방법 - 계산 - 설정 - 차이 - 사용 - javasc) – 31piy

답변

2

var app = angular.module('myApp', []); 
 
app.controller('myCtrl', function($scope) { 
 

 
    $scope.availableusers = ["00000000a447a9160c9d6b74", "000000005c05c11764445bdb"] 
 
    $scope.selectedUsers = ["000000005c05c11764445bdb"] 
 

 
    $scope.matchUser = []; 
 
    for (var i = 0; i < $scope.availableusers.length; i++) { 
 
    for (var j = 0; j < $scope.selectedUsers.length; j++) { 
 
     if ($scope.availableusers[i] === $scope.selectedUsers[j]) { 
 
     $scope.matchUser.push($scope.availableusers[i]); 
 
     } 
 
    } 
 

 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js"></script> 
 

 
<div ng-app="myApp" ng-controller="myCtrl"> 
 
    <span>Available users</span> 
 
    <div ng-repeat="available in availableusers">{{available}}</div> 
 
    <span>Selected Users</span> 
 
    <div ng-repeat="selectUser in selectedUsers">{{selectUser}}</div> 
 
    <span>Users</span> 
 
    <div ng-repeat="Users in matchUser">{{Users}}</div> 
 
</div>

+0

감사합니다 .. 지금은 사용 가능한 사용자와 선택된 사용자를 표시하는 데 효과적입니다. 내가 사용할 수있는 하나를 클릭하면 선택에 추가되어야하고 available.do에서 제거해야한다 어떤 생각이있어 – Vishnu

+1

내가 당신을 도울 수 있습니다. 두 가지 기능을 추가하여 작성해야합니다. – Lakmi

+0

감사합니다. 문제가 해결됨 :) – Vishnu

1
var result=[]; 
for(var i = 0 ;i<availableUsers.length;i++){ 
    if(availableusers[i] === selectedUsers[i]) 
    { 
     result.push(availableusers[i]); 
     }  
    } 
+4

이 코드 스 니펫을 주셔서 감사 드리며 일부 도움이 될 수 있습니다. 적절한 설명을 통해 (* meta.stackexchange.com/q/114762) 왜 * 이것이 문제의 좋은 해결책인지를 보여줌으로써 장기적인 가치를 향상시킬 수있을 것이며, 미래의 독자들에게 더 유용 할 것입니다. 다른 유사한 질문. 귀하의 가정을 포함하여 몇 가지 설명을 추가하려면 답을 편집하십시오. –

관련 문제