2016-11-02 7 views
0

私はticketという名前のオブジェクトの配列を持っています。number、desc、stateのようなチケットから特定のオブジェクトを選び、myarrというオブジェクトの新しい配列に割り当てる必要があります。私は以下のコードを書いていますが、数字は定義されていないと言います。私は間違って何をしていますか?配列の特定のオブジェクトをオブジェクトの別の配列に割り当てる方法はありますか?

$scope.myarr=[{ 

    number:"", 
    desc:"", 
    state:"" 
    } 

]; 


for(var i=0;i<$scope.tickets.length;i++){ 

    $scope.myarr[i].number=$scope.tickets[i].number; 
    $scope.myarr[i].desc=$scope.tickets[i].short_description; 
    $scope.myarr[i].state=$scope.tickets[i].state; 

} 
+0

はあなたmyarr ** $のscope.myarrを初期化し、この場合に有用であるmapと呼ばれる便利な機能があり= []; ** –

+0

ループの条件は何ですか?あなたはいくつかの特定のオブジェクトを選びたいと言ったのですが、それはどちらですか? – Weedoze

答えて

0

このような操作が必要です。あなたがIE < 9をサポートする必要がない場合

$scope.myarr=[]; 
for(var i=0;i<$scope.tickets.length;i++){ 
    //Your Conditions 
    var object={ 
     "number":$scope.tickets[i].number, 
     "desc" :$scope.tickets[i].short_description, 
     "state":$scope.tickets[i].state 
    } 
    $scope.myarr.push(object); 
} 
+0

この情報は役に立ちましたか? – Aravind

0
$scope.myarr = []; 
angular.forEach($scope.tickets, function(ticket) { 
    this.push({number:ticket.number, state: ticket.state}); 
}, $scope.myarr); 
0

は、

$scope.myarr = $scope.tickets.map(function(ticket) { 
    // return the element to be inserted in the new array 
    return { 
    number: ticket.number, 
    desc: ticket.short_description, 
    state: ticket.state 
    }; 
}); 
関連する問題