在angularjs中访问对象的属性

时间:2015-02-06 03:02:12

标签: html angularjs

我有这个$ scope.data对象:

 $scope.data = {
    '8':{
       'id':'81',
       'name':'anna',
        },
    '9':{
      'id':'82',
      'name':'sally',
       },
 };

我通过这种方式使用for循环来获取id。

$scope.getID = function(id){
  for(var i=0;i<$scope.data.length;i++){
    if(id == $scope.data[i].id)
      return $scope.data[i].name;
    }
  }
};

但它根本不起作用。我想知道为什么?我是以正确的方式称呼id吗?

3 个答案:

答案 0 :(得分:3)

因为它不是您无法使用$scope.data.length的对象数组,请尝试使用for…in循环,因为:

for(key in $scope.data) {
    var obj = $scope.data[key];
    if( obj['id'] == id ) {
        return obj['name'];
    }
}

答案 1 :(得分:2)

如果您只需要获取对象中的键数,请尝​​试使用。

  

Object.keys(OBJ)。长度

答案 2 :(得分:1)

它可能对你有帮助 -

$scope.users=data;
$scope.getUserNameBYID = function(id){
    if(users !== undefined && users.length >0){
      for(key in users) {
            var obj = users[key];
            if( obj['id'] === id ) {
                return obj['name'];
            }
        }
    }
};