Почему мой AngularJS не работает, это моя функция фильтра?

Если вы хотите узнать, одинаковы ли ссылки на объекты, то существующие методы соответствуют счету. A Double, представляющие 2.0 и Integer, представляющие 2, являются определенно разными объектами и, конечно, не взаимозаменяемы в общем смысле.

Если вы просто хотите знать, являются ли числовые значения Вы можете использовать метод Number.doubleValue () , чтобы преобразовать оба числа в двойные, затем сравнить эти числа вместе (возможно, учитывая небольшой допуск, поскольку большинство чисел представлено неточно, например, 1.99999999996583 для что должно быть 2, в зависимости от промежуточных этапов расчета). Что-то вроде следующего:

private static final double EPSILON = 0.000000000000001d;    

public static boolean areEquivalentNumbers(Number a, Number b)
{
   if (a == null)
   {
      return b == null;
   }
   else if (b == null)
   {
      return false;
   }
   else
   {
      return Math.abs(a.doubleValue() - b.doubleValue()) < EPSILON;
   }
}

0
задан Andy Nguyen 18 January 2019 в 16:18
поделиться

1 ответ

Для фильтрации вашего массива по названию компании нет необходимости писать свой собственный фильтр. Вы можете использовать фильтр angularjs с объектом. Попробуйте следующее

<input type="text" ng-model="search.text" class="form-control" id="search" placeholder="Search">

<div class='col-md-12' ng-repeat="(key,value) in cropplans | filter : {'company_name' : search.text}"> 
    <h4> {{value}}</h4>
</div>

Он не чувствителен к регистру, поэтому вам не нужно беспокоиться о преобразовании в строчные / прописные буквы.

0
ответ дан NTP 18 January 2019 в 16:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: