2016-07-21 35 views
2
$scope.arrSportData = data.sportdata; 

     angular.forEach($scope.arrSportData, function(value, key){ 
      $scope.associatedSportplayer = value; 
     console.log($scope.associatedSportplayer); 

     //getting reponse 

     /* 
     Object { id: "1", user_id: "2", sport_id: "1", position_id: "1"} 
     Object { id: "2", user_id: "2", sport_id: "2", position_id: "6"} 
     Object { id: "3", user_id: "2", sport_id: "3", position_id: "12"} 
     Object { id: "4", user_id: "2", sport_id: "5", position_id: "20"} 
     */ 

     }); 

陣列我想挑sport_id到數組即數組[1,2,3,5]我怎樣才能把數據存儲進的AngularJS

請指導謝謝提前

+0

angularJS DONOT有特殊的陣列,它們只是對象JS – eronax59

回答

2

var datas = [{ 
 
    id: "1", 
 
    user_id: "2", 
 
    sport_id: "1", 
 
    position_id: "1" 
 
}, { 
 
    id: "2", 
 
    user_id: "2", 
 
    sport_id: "2", 
 
    position_id: "6" 
 
}, { 
 
    id: "3", 
 
    user_id: "2", 
 
    sport_id: "3", 
 
    position_id: "12" 
 
}, { 
 
    id: "4", 
 
    user_id: "2", 
 
    sport_id: "5", 
 
    position_id: "20" 
 
}]; 
 

 
var sport_ids = datas.map(function(data) { 
 
    return Number(data.sport_id) 
 
}); 
 

 
alert(sport_ids);

所以,你幾乎可以使用JavaScript的map功能來管數據的陣列中的一個格式,並將其轉換成與原數組中提取的數據的另一個數組。

Documentation

+0

以此格式獲取響應Array [「1」,「2」,「3」,「5」]想要數組[1,2,3,5]不含引號 – user6606700

+0

已更新答案。你可以使用'Number(string_representation)' – Chanthu

+0

再次感謝@Chanthu – user6606700

-1

您需要將值存儲在對象中,然後將其推送到數組。

$scope.item = {}; $scope.addItem = function() { var newItem ={};  newItem.name= $scope.item.name;  newItem.title=$scope.item.title; $scope.contact.items.push(newItem); console.log($scope.contact.items); } 
0

您可以在$scope推向一個空數組:

$scope.arrSportData = data.sportdata; 
$scope.newArr = []; 

angular.forEach($scope.arrSportData, function(value, key){ 
    $scope.associatedSportplayer = value; 
    $scope.newArr.push($scope.associatedSportplayer.sport_id); 
}); 
0

這可以幫助你已經sport_id到一個數組。

var tempArr = []; 
    angular.forEach($scope.arrSportData, function(value, key){ 
     tempArr.push(value.sport_id); 
    }); 
0

試試這個代碼。

var app = angular.module('plunker', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 

 
$scope.arrSportData = [ { id: "1", user_id: "2", sport_id: "1", position_id: "1"},{ id: "2", user_id: "2", sport_id: "2", position_id: "6"},{ id: "3", user_id: "2", sport_id: "3", position_id: "12"},{ id: "4", user_id: "2", sport_id: "5", position_id: "20"}]; 
 
    $scope.sportId = []; 
 
angular.forEach($scope.arrSportData, function(value, key){ 
 
      $scope.associatedSportplayer = value; 
 
     $scope.sportId.push($scope.associatedSportplayer.sport_id); 
 
    
 
    }); 
 
    console.log($scope.sportId); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
    <body ng-app="plunker" ng-controller="MainCtrl"> 
 
    
 
    </body>

+0

我讚賞@Rejs非常感謝 – user6606700

0

我不知道究竟在你需要它,但這是一般的想法...

$scope.arrSportData = data.sportdata; 
$scope.arrSportID = []; 
    angular.forEach($scope.arrSportData, function(value, key){ 
     $scope.arrSportID.push(value.id); 
    } 

console.log($scope.arrSportID); 
+0

謝謝@ user1034092我正在做同樣的事情,但不知道出了什麼問題。儘管如此,多謝 – user6606700

+0

以這種格式獲取響應Array [「1」,「2」,「3」,「5」]想讓Array [1,2,3,5]不引用 – user6606700

+0

是否需要保存它們JSON對象)用引號? 有沒有在數據中它的{id:「1」}而不是{id:1}的原因? – user1034092

相關問題