2016-05-03 6 views
0

zur Zeit bekomme ich Objekte Wert in $ scope.validuser, aber ich möchte dies in Array-Form, wie ich Objekt Wert zu Array speichern Ich möchte $ scope.validuser in Array speichern ie Array [Objekt]Objekt zu Array in angularjs

$scope.sportIds = []; 
      angular.forEach($scope.users, function(value, key){ 
       $scope.sportIds[value.sport_id] = value.sport_id; 
       if($scope.sportIds[value.sport_id] == 3){ 
        $scope.validuser = value; 
        } 
       }); 
+0

Sehr unklar. Nehmen wir an, Ihr Objekt ist '{id: 42, Name: 'Jimmy', Alter: 27}'. Was sollte das Array enthalten? –

+0

Soweit ich Ihre Frage verstehen konnte, sollte '$ scope.validuser' ein Array sein, einschließlich des Wertes bei jedem Index - richtig? – Aer0

Antwort

1

Dies wird Ihnen ein Array nur die gültigen Benutzer enthalten geben:

$scope.validuser = $scope.users.filter(function(user) { 
    return user.sport_id === 3; 
}); 
-1

erste $ scope.validuser als Array definieren, wie dies

$scope.validuser = []; // declaring new empty array 

und in dem Zustand, um die Werte schieben, wie dies

$scope.validuser.push(value); 
+1

'Objekt' hat keine Methode' push' – Hitmands

+0

Einfach falsche Deklaration - Sie deklarieren ein neues Objekt, kein Array! – Aer0