我想要的是用另一个对象替换对象$ scope.users数组中的元素。 我想这样做:
步骤1找到我要替换的对象
var myValue;
myValue = $filter('filter')($scope.users,{email: "email"});
它给了我想要的对象
第2步编辑:myValue现在包含从数组$ scope.users中提取的确切对象,所以现在我要查找它并找到它的索引。
var index = $scope.users.indexOf(myValue);
然后返回-1,所以错误......
$ scope.users就是那样
[Object { id=10, username="Eagle1", username_canonical="eagle1", more...}, Object { id=11, username="Pedro", username_canonical="pedro", more...}, Object { id=12, username="Carine", username_canonical="carine", more...}, Object { id=16, username="stephane", username_canonical="stephane", more...}, Object { id=17, username="throwError", username_canonical="throwerror", more...}]
并且在过滤器myValue之后就是这样:
[Object { id=17, username="throwError", username_canonical="throwerror", more...}]
编辑:我解决了这个问题:
var index = $scope.users.map(function(e){return e.keytofind}).indexOf("keytofind");
答案 0 :(得分:1)
我认为它类似于:
var elementPos = array.map($filter('filter')($scope.users,{email: "email"}))
.indexOf(idYourAreLookingFor);
var objectFound = array[elementPos];