如何将角度过滤器应用于数组

时间:2013-10-03 17:52:43

标签: angularjs

我按照此处的说明http://docs.angularjs.org/api/ng.filter:filter尝试将Angular过滤器应用于以下数组:

[{"id":"compute-1.amazonaws.com_Delivery","id":"compute-1.amazonaws.com_TaskJob","id":"UpdateFiles","id":"TaskRequest"}]

假设过滤器值为:

  filter = "TaskRequest";


  filter = "Taskjob";


  filter = "UpdateFiles";


  filter = "Delivery";

如何应用Angular过滤器:

我试过了:

conData = JSON.stringify(data);
results = $filter('filter')(conData, filter, false);

我也尝试过:

results = $filter('filter')(conData, filter, true);
results = $filter('filter')(conData, filter);

当我检查过滤器的结果时,没有任何变化,我得到了相同的数组。

因此,如果应用的过滤器是“交付”

结果数组将是:   [{ “ID”: “计算-1.amazonaws.com_Delivery”}]

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

不确定是否是复制/粘贴错误,但您在第一个源摘录中提供的数组是错误的(或者至少不会达到预期效果)。如果仔细观察,密钥id将在同一个JSON对象中重复出现。尝试使用以下数组:

[
 {"id":"compute-1.amazonaws.com_Delivery"},
 {"id":"compute-1.amazonaws.com_TaskJob"},
 {"id":"UpdateFiles"},
 {"id":"TaskRequest"}
];

顺便说一句,我汇编了一个较轻的代码版本,可以访问here,过滤工作正常。