我按照此处的说明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”}]
我在这里做错了什么?
答案 0 :(得分:0)
不确定是否是复制/粘贴错误,但您在第一个源摘录中提供的数组是错误的(或者至少不会达到预期效果)。如果仔细观察,密钥id将在同一个JSON对象中重复出现。尝试使用以下数组:
[
{"id":"compute-1.amazonaws.com_Delivery"},
{"id":"compute-1.amazonaws.com_TaskJob"},
{"id":"UpdateFiles"},
{"id":"TaskRequest"}
];
顺便说一句,我汇编了一个较轻的代码版本,可以访问here,过滤工作正常。