【发布时间】:2019-03-28 05:53:14
【问题描述】:
我有一个 JSON 数组,想根据匹配条件从其中过滤掉一些元素。
{{ myJsonArray |过滤器:{ myKey : myValue } }}
AngularJS 中的内联过滤器的问题在于它不比较提供的键的完整值,而是比较数组中的部分值。
我没有看到可以在 HTML 中使用的内联过滤器的任何其他替代方法。
//My Json Array
$scope.myJsonArray = [
{ id : 1, myKey : "5" },
{ id : 2, myKey : "10" },
{ id : 3, myKey : "15" },
{ id : 4, myKey : "20" }
];
{{ (myJsonArray | filter : { myKey : 1 }).length }}
I 除了输出为 0 之外,因为提供给 myKey 的值不存在于数组中的任何 Json 对象中。
但实际输出似乎是 2。
原因是因为 angularjs 过滤器将提供的值 1 与 10 和 15 进行比较,并返回 true,因为这些键中确实存在 1。
我希望过滤器将键作为单个完整值进行比较,而不是作为值的一部分。
【问题讨论】:
标签: javascript angularjs filter