2017-04-26 63 views
0

動態創建一個數組我有一個JSON如下角JS:如何通過讀取JSON陣列

[ 
     { 
       "id": 1000, 
       "name": "Open" 
     }, 
     { 
       "id": 1000, 
       "name": "Ravi" 
     }, 
     { 
       "id": 1000, 
       "name": "POOO" 
     }] 

    On click of a button I am trying to create a Array by reading all the names from the Array 

    I have tried as follwoing 

     var myapp = angular.module('myapp', []); 
myapp.controller('FirstCtrl', function($scope) 
{ 
     $scope.formData = function() 
     { 
       var aa = $scope.tickets.length; 
       $scope.products = $scope.tickets.name; 
       alert($scope.products); 
     }; 
     $scope.tickets = [ 
     { 
       "id": 1000, 
       "name": "Open" 
     }, 
     { 
       "id": 1000, 
       "name": "Ravi" 
     }, 
     { 
       "id": 1000, 
       "name": "POOO" 
     }] 
}); 

目前我得到不確定,可以請你讓我知道該怎麼做這個
謝謝提前

http://jsfiddle.net/9fR23/434/

我不使用for循環讀取要臣民風格。

請問您能否提出一個專業的方法。

回答

0

你可以做一個循環讀取數組中的所有數據,並將其推到新陣列:

$scope.formData = function() 
{ 
    $scope.products = []; 
    var aa = $scope.tickets.length; 
    angular.forEach($scope.tickets, function(value, key) { 
     $scope.products.push(value.name); 
    }); 
    alert($scope.products); 
}; 

Updated fiddle

+0

已經提到的不是會不會循環播放 –

1

如果你不使用循環讀取,那麼你可以使用Underscore.js

通過使用Underscore.js你可以這樣做如下。在此之前,您需要檢查this link如何在角度控制器內使用下劃線。

var result = _.map([{ id: 1, name: "vinit"},{ id: 2, name: "jaimin"}], function (v) { 
    return v.name; 
}); 

alert(JSON.stringify(result)); 

jsfilddle