如果给出值,如何找到对象的javascript数组的索引?

时间:2017-08-08 09:05:07

标签: javascript angularjs arrays

这是我的对象数组:

$scope.choices =  [
  {
     id: 0,
     product: [{id:'0'}] 
  }, 
  {
    id: 10,
    product: [{id:'5'}]
  }
];

如何找到id值为“10”的索引号?

5 个答案:

答案 0 :(得分:0)

让以下是您要在数组中搜索的对象

var searchObject={
    id: 0,
    product: [{id:'0'}] 
};

现在使用以下

$scope.choices.indexOf(searchObject);

希望这会有所帮助:)

答案 1 :(得分:0)

你可以用这个:

     X = [2 3 4 5 10 7 8 9 5 6 ];
     Plot(x)
    [pks,locs] = findpeaks(x)

答案 2 :(得分:0)

试试这个

User.includes(:company).where(companies: {id: 0})

答案 3 :(得分:0)

如果您想使用纯javascript而无需使用问题,可以使用以下

function findWithAttr(array, attr, value) {
    for(var i = 0; i < array.length; i += 1) {
        if(array[i][attr] === value) {
            return i;
        }
    }
    return -1;
}

findWithAttr(choices, 'id', 10);

或者对于角度,您可以使用以下功能

  $scope.findIndex=function(){

            angular.forEach( $scope.choices,function(object,index){
                     console.log(object);
                    if(object.id==10){
                        console.log('index'+index);
                    }


                })


        };

答案 4 :(得分:-2)

您可以使用Object.keys()检索您对象的所有键,然后对其进行迭代以查找是否存在具有相应值的键。