2016-11-07 85 views
-2

下面的函数返回此JSON对象:如何使用推一个循环内

[{"number":2,"des":"Ceintures De Sécurités Passagères","la_date":1506960648000},{"number":7,"des":"Ceintures De Sécurité Conducteur","la_date":1509542654000},{"number":1,"des":"Ceintures De Sécurités Passagères","la_date":1512134781000}]

功能:

$scope.loadDataFromToMonth= function (from,to,year) { 
    var url = servername+'admin/dashboard/getIncidentDepartByMonthFromTo/'+from+'/'+to+'/'+year; 
    alert(url); 
    function onSuccess(response) { 
     console.log("+++++getIncidentDepartByMonthFromTo SUCCESS++++++"); 
     if (response.data.success != false) { 
      $scope.payloadgetIncidentDepartByMonthFromTo = response.data.data; 
      var getIncidentDepartByMonthFromTo= $scope.payloadgetIncidentDepartByMonthFromTo; 
      console.log(JSON.stringify(getIncidentDepartByMonthFromTo)); 
      $scope.labels = []; 
      // charCtrl.toto = []; 
      // $scope.data = {}; 
      //$scope.qsd.push('ff'); 
      getIncidentDepartByMonthFromTo.forEach(function(data) { 
       // charCtrl.toto.push($filter('monthName')(monthNumber)); 
       var monthNumber=$filter('date')(data.la_date, "MM"); 
       //$scope.labelsf.push($filter('monthName')(monthNumber)); 
       var mun=data.number; 
       //$scope.dataf.push(data.number); 
       $scope.data = { 
        labels: [monthNumber], 
        datasets: [ 
         { 
          label: 'My First dataset', 
          fillColor: 'rgba(220,220,220,0.2)', 
          strokeColor: 'rgba(220,220,220,1)', 
          pointColor: 'rgba(220,220,220,1)', 
          pointStrokeColor: '#fff', 
          pointHighlightFill: '#fff', 
          pointHighlightStroke: 'rgba(220,220,220,1)', 
          data: [data.number] 
         } 

        ] 
       }; 
      }); 
     } 
     else { 
      alert("failure"); 
     } 
    }; 
    function onError(response) { 
     console.log("-------getIncidentDepartByMonthFromTo FAILED-------"); 
     //$scope.stopSpin('spinner-0'); 
     console.log(response.data); 
     console.log("Inside getIncidentDepartByMonthFromTo error condition..."); 
    }; 
    //----MAKE AJAX REQUEST CALL to GET DATA---- 
    ajaxServicess.getData(url,username,password, 'GET', '').then(onSuccess, onError); 
}; 

我的问题是,在巴焦数据apprears,刚刚过去的出现json对象是:

{"number":1,"des":"Ceintures De Sécurités Passagères","la_date":1512134781000}

+0

所以你只需要一个for循环逻辑来推送唯一的数据? –

+0

循环工作良好..但我不知道我如何使用推内$ scope.data:{} –

+0

当我这样做$ scope.data:{labels.push(monthNumber)}它给出了一个错误 –

回答

0

基本上你需要创建一个特定的对象并赋值给对象的属性如b elow:

$scope.data = {}; // new object 
$scope.data.datasets = []; // new array in data object .. 
$scope.data.labels =[]; 
getIncidentDepartByMonthFromTo.forEach(function(data) { 

    var monthNumber = $filter('date')(data.la_date, "MM"); 

    var mun = data.number; 


    $scope.data.labels.push(monthNumber); 

    var dataSetObj = {}; //temp object to push into dataset array.. 
    dataSetObj.data = []; 
    dataSetObj.label= 'My First dataset'; 
    dataSetObj.fillColor='rgba(220,220,220,0.2)'; 
    dataSetObj.strokeColor= 'rgba(220,220,220,1)'; 
    dataSetObj.pointColor= 'rgba(220,220,220,1)'; 
    dataSetObj.pointStrokeColor= '#fff'; 
    dataSetObj.pointHighlightFill= '#fff'; 
    dataSetObj.pointHighlightStroke='rgba(220,220,220,1)'; 
    dataSetObj.data.push(data.number); 

    $scope.data.datasets.push(dataSetObj); 

}); 
+0

谢谢你的答案,但它给了我这个错误:angular.js:12416 TypeError:无法读取未定义的属性“推” –

+0

我已经更新了答案现在请尝试我的坏我错过了这一行'dataSetObj.data = [] ;' –

+0

@imsiimsi你解决了这个问题吗? –