Я пытаюсь сделать фильтр в угловом контроллере, который чувствителен к регистру при фильтрации массива.
Мои данные, как показано ниже:
var stoneArr =
[
{
"stone_name": "Diamond",
"id": 16
},
{
"stone_name": "Ruby",
"id": 17
},
{
"stone_name": "Sapphire",
"id": 18
},
{
"stone_name": "Emerald",
"id": 19
}
];
Мой HTML вход, как показано ниже:
<input type="text" name="stone_name" class="form-control" id="stone_name"
ng-model="propertyName" maxlength="15" required>
Мой фильтр в контроллере:
var stoneObj = $filter('filter')(stoneArr, {stone_name:$scope.propertyName}, true);
Здесь ловушка в том, что, когда i введите «алмаз» в поле ввода
$scope.propertyName = "diamond";
фильтр не соответствует этой строке с помощью «Алмаз».
Я не хочу, чтобы удалить точное условие соответствия (истина), из уравнения, как показано ниже:
var stoneObj = $filter('filter')(stoneArr, {stone_name:$scope.propertyName}); //This won't work for me
Это не будет работать для меня, потому что я хочу, чтобы соответствовать точной строке для фильтрации данные. И данные будут иметь уникальные значения «stone_name». Также я не хочу использовать любые циклы, так как длина массива будет превышать 1000+. В любом случае я могу достичь этого?
Внутри $ фильтр делает петлю. Я бы сделал одну функцию с этим сравнением или создал другой конкретный фильтр –