arrays - 是否可以通过包含在另一个数组中来过滤angular.js?

标签 arrays angularjs filtering

所以,如果我有一个数组:

$scope.letters = 
[{"id":"a"},
{"id":"b"},
{"id":"c"}];

还有另一个数组
$scope.filterBy = ["b","c","d"];

我希望有一些ng-repeat可以仅通过出现在$ filterBy中的项来过滤$ scope.letters。

我希望能够做到以下几点:
<span ng-repeat="{{letter in letters|filter: letter.id in filterBy }} > {{letter.id}} </span>

并打印b,c

我知道这是一个非常愚蠢的示例,但是有没有一种方法可以根据另一个数组对象的内容来过滤angular.js表达式?

最佳答案

您应该尝试这样的事情:

JS:

angular.module('Test', []);

function Ctrl($scope) {
  $scope.letters = [
    {id: 'a'},
    {id: 'b'},
    {id: 'c'}
  ];

  $scope.filterBy = ['b', 'c', 'd'];

  $scope.filteredLetters = function () {
    return $scope.letters.filter(function (letter) {
      return $scope.filterBy.indexOf(letter.id) !== -1;
    });
  };
}

Ctrl.$inject = ['$scope'];

HTML:
<div ng-repeat='letter in filteredLetters(letters)'>{{letter.id}}</div>

您可以尝试live example

关于arrays - 是否可以通过包含在另一个数组中来过滤angular.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15454900/

相关文章:

javascript - 如何使用Javascript计算数组中的相邻数字?

iphone - 在 Objective-C iPhone 中按数组中的众数排序

java - 从数组中挑选值(value)最高和值(value)最低的一天时遇到麻烦

javascript - Angular 翻译即时方法不起作用

javascript - 如何在不缩小的情况下构建 Yeoman Angular-FullStack

javascript - 通过现有键更新 localStorage 数组中的值

javascript - ui-router deferIntercept 和状态参数

awk - 如何保留文件/命令的前 n 行,但 grep 其余部分?

java - 如何将商品订购 HQL 转换为过滤查询?

Android 双线性图像缩小