Javascript 数组中每个对象的返回Id
我有一个对象数组,每个对象都有一个唯一的Id 我想得到数组中每个对象的索引。我使用的是angular,但出于此练习的目的,我无法使用$indexJavascript 数组中每个对象的返回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
$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.Isobj
您要查找的索引的确切对象?如果是,您可以使用数组.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;
}
}
}