У меня есть массив 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.
Я хочу, чтобы фильтр сравнивал ключ как одно полное значение, а не как часть значения.