Я в JS почти полный ноль но достался чужой код и приходится ковыряться. Столкнулся со странным поведением (на мой взгляд это баг).
В контроллере делаю $scope.item = $scope.arrayFirst[i]
, далее по коду - $scope.someArray.push($scope.item)
И так 20 итераций. Так вот, в каких-то условиях, которые я никак не могу отследить, при пуше один из item в array исчезает о_0 , то есть его длина становится на единицу меньше. Проблему пока решил так: $scope.item = angular.copy($scope.arrayFirst[i])
- вроде работает нормально.
Что это может быть? Может ли angular как-то без моего ведома фильтровать этот array?
Не может этого быть. Если Вас не затруднит, сделайте, пожалуйста, на codepen.io заготовку того, что делаете в реальном проекте (естественно, соответствующую NDA и всё такое), разместите ссылку здесь, а я скажу Вам, где ошибка.
сделал поиск по имени массива по всему коду, единственное место где он используется помимо контроллера (где очевидной фильтрации нет совсем) это в шаблоне в ng-repeat - элементы в таблице отображаются
Александр Марченко: можно в темплейтах поискать по названию, если массив используется только в ngrepeat то это чуть более чем странно. В целом да, лучше бряки расставить и посмотреть.