Ahmed
Ahmed

Reputation: 255

How use array in Angular JS?

I have initializated array in Angular JS:

$scope.formData.universitySelected = [];

I try to fill array in loop:

 angular.forEach($scope.formData.university, function (value, key) {
    if (typeof value === 'object') {
         $scope.formData.universitySelected[key].id = value.IdEducation;
    } else {
        $scope.formData.universitySelected[key].selected = value;
    }
});

But I get error:

Cannot set property 'id' of undefined

Upvotes: 1

Views: 73

Answers (2)

hansmaad
hansmaad

Reputation: 18905

You should create an object before using it.

angular.forEach($scope.formData.university, function (value, key) {
   $scope.formData.universitySelected[key] = $scope.formData.universitySelected[key] || {};
   if (typeof value === 'object') {
      $scope.formData.universitySelected[key].id = value.IdEducation;
   } else {
      $scope.formData.universitySelected[key].selected = value;
   }
});

Upvotes: 2

Pankaj Parkar
Pankaj Parkar

Reputation: 136144

I think you need to define that object first then add value to in it.

Code

angular.forEach($scope.formData.university, function (value, key) {
    if (typeof value === 'object') {
         $scope.formData.universitySelected[key] = {id : value.IdEducation};
    } else {
        $scope.formData.universitySelected[key] = {selected : value.IdEducation};
    }
});

Upvotes: 1

Related Questions