2016-07-26 137 views
-2

狀態變量是我正在處理的數據。數字是optionIds。Javascript迭代對象

var state = {0: {classification: 'uretim', description: 'Planlı Uretim'}, 
       1: {classification: 'uretim', description: 'Plansız Uretim'}, 
       2: {classification: 'hata', description: 'Planlı Hata', color: 'red'}, 
       3: {classification: 'hata', description: 'Plansız Hata', color: '#ff6666'}, 
       4: {classification: 'yokluk', description: 'Planlı Yokluk', color: 'grey'}, 
       5: {classification: 'yokluk', description: 'Plansız Yokluk', color: '#D3D3D3'}, 
       6: {classification: 'kurulum', description: 'Planlı Kurulum', color: 'blue'}, 
       7: {classification: 'kurulum', description: 'Plansız Kurulum', color: '#ADD8E6'} 
       }; 

在此函數中,狀態對象中的值正在分類。但目前它不能正常工作。 「我」變量應該保持相同的分類。例如,對於「uretim」它不應該改變,則必須爲「0」爲0和1 optionIds

function createData(state, data) { 

     var dataSet = []; 
     var i = 0; 

     for (var optionId in state) { 
      if (state.hasOwnProperty(optionId)) { 

       dataSet.push({ 
        label: state[optionId].description, 
        //In this line "i" should be same value for the same classifications. For instance it should be 0 for "uretim"(0 and 1 optionIds) 
        data: [[i, count]] 
       }); 
       i++; 
      } 
     } 
     return dataSet; 
} 

狀態變量的結構不應該被改變。請注意。

+1

請校對你的標題。 – 2016-07-26 16:15:02

+0

你是什麼意思,「它不應該改變」?那麼不要'我++'? – Bergi

回答

1
var state = {0: {classification: 'uretim', description: 'Planlı Uretim'}, 
       1: {classification: 'uretim', description: 'Plansız Uretim'}, 
       2: {classification: 'hata', description: 'Planlı Hata', color: 'red'}, 
       3: {classification: 'hata', description: 'Plansız Hata', color: '#ff6666'}, 
       4: {classification: 'yokluk', description: 'Planlı Yokluk', color: 'grey'}, 
       5: {classification: 'yokluk', description: 'Plansız Yokluk', color: '#D3D3D3'}, 
       6: {classification: 'kurulum', description: 'Planlı Kurulum', color: 'blue'}, 
       7: {classification: 'kurulum', description: 'Plansız Kurulum', color: '#ADD8E6'} 
       }; 
function classification(state){ 
var dataSet = []; 
     var i = 0; 
    let classKeys={} 
     for (var optionId in state) { 

      if (state.hasOwnProperty(optionId)) { 
       if(!classKeys[state[optionId].classification]){ 
        classKeys[state[optionId].classification]=i 
        i++ 
       } 
       dataSet.push({ 
        label: state[optionId].description, 
        data:{classKey:classKeys[state[optionId].classification,count} 

       }); 

      } 
     } 
     console.log(dataSet); 

} 

您需要保存0,1,2 ....對於每一個分類成的ClassKey 希望它的見解東西 乾杯..