2015-12-09 25 views
0

我正尝试使用动态变量创建一个滤波阵列。我创建了一个拥有过滤器键的数组,然后创建一个过滤数组,该数组只能返回与我的第一个数组中的键匹配的项目。用于阵列的角度动态滤镜

阵列与过滤键: $scope.participantArray = ["[email protected]", "[email protected]"]

代码过滤的第二阵列:

$scope.items = $scope.items.filter(function (data) { 
          var i = $scope.participantArray.length; 
          while(i--) { 
          return (data.Title === $scope.participantArray[i]) 
         } 

我通过所有钥匙试图循环,并将其应用到过滤阵列。问题是它只返回一个匹配。我很喜欢我的items阵列中的实例,它们与我的第一个阵列中的键匹配。

while循环仅返回[email protected]

关于我在做什么错的任何建议?

回答

3

可以使用indexOf它做一个简单的方法:

$scope.items.filter(function(item) { 
    if($scope.participantArray.indexOf(item.Title) >= 0) { 
     return true; 
    } 
}) 
+0

伟大的工作!很好很简单。将尽快完成标记。 – TietjeDK

+0

在if语句中缺少')'。 –

+0

是的,补充说。另外,改变了条件以考虑第0个指数。 –