5

Hi it seams like i can't push my array ? code:

  $scope.arrResult = [];
  dpd.timesheets.get( function (result) {
    console.log(result);

    for (i = 0, n = result.length; i < n; i++) {
      var item = result[i];
      $scope.arrResult[item.week].push(item);
    }
    console.log($scope.arrResult);

  });

i get this console error

Uncaught TypeError: Cannot read property 'push' of undefined

if i set $scope.arrResult[item.week].push(item); to $scope.arrResult[item.week] = item; it works with no error but i need / want to push, whats wrong ?

Stweet
  • 683
  • 3
  • 11
  • 26

1 Answers1

12

This is because

$scope.arrResult[item.week]

itself is not an array.

push() is of Array.prototype

To see what I mean, try

$scope.arrResult[item.week] = [];

or

$scope.arrResult[item.week] = new Array();

and then try push()

AmmarCSE
  • 30,079
  • 5
  • 45
  • 53