Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组中每个对象的返回Id_Javascript_Angularjs - Fatal编程技术网

Javascript 数组中每个对象的返回Id

Javascript 数组中每个对象的返回Id,javascript,angularjs,Javascript,Angularjs,我有一个对象数组,每个对象都有一个唯一的Id 我想得到数组中每个对象的索引。我使用的是angular,但出于此练习的目的,我无法使用$index $scope.getObjectIndex = function(obj) { var theArray = _.flatten($scope.myObjects); var index; //CAN I SEARCH THE ARRAY FOR MY OBJ USI

我有一个对象数组,每个对象都有一个唯一的Id

我想得到数组中每个对象的索引。我使用的是angular,但出于此练习的目的,我无法使用$index

$scope.getObjectIndex = function(obj) {
    var theArray = _.flatten($scope.myObjects);
    var index;                              

    //CAN I SEARCH THE ARRAY FOR MY OBJ USING IT'S ID?

    return index;   
}

如有任何意见或建议,将不胜感激

如果对数组使用ng repeat,则可以访问索引

<div ng-repeat="item in myCtrl.obj">
     <span>{{myCtrl.getObjectIndex(index)}}</span>
</div>
但是,如果我们想使用您的解决方案,您可以使用for循环搜索阵列,如下所示:

$scope.getObjectIndex=function(obj){
   for(var $i=0;$i<$scope.myObjects.length;$i++){
         if(obj.id===$scope.myObjects[$i].id){
             return $i;
         }
   }
}
$scope.getObjectIndex=函数(obj){

对于(var$i=0;$iIt是一个练习,这意味着你必须自己做。这是一个练习的目的,通常^^^如果它是一个练习,可能会在你的课程中解释。因此,请重新阅读手册完成后的代码,可能有更好的解决方案,然后使用
getObjectIndex
。例如,如果使用ngRepeat.Is
obj
您要查找的索引的确切对象?如果是,您可以使用
数组.indexOf(obj)
。否则,您需要使用
forEach
或普通的old for循环来循环
数组。@YuryTarabanko,我已经尝试过了,但结果一直是-1。@Daft,这意味着您试图查找的对象不在数组中。:)
$scope.getObjectIndex=function(obj){
   for(var $i=0;$i<$scope.myObjects.length;$i++){
         if(obj.id===$scope.myObjects[$i].id){
             return $i;
         }
   }
}