2017-10-17 14 views
-1

任何人都可以請領我來處理的數據結構是這樣的正確方法:什麼是處理中的對象的目標的最佳途徑角4

{ 
     "1":{ 
     "id":"1", 
     "name":"Facebook", 
     "created_at":"", 
     "updated_at":"", 
     "fields":{ 
      "1":{ 
       "id":"1", 
       "name":"G\u00f6rsel", 
       "service_id":"1", 
       "ord":"1", 
       "token":"fimage", 
       "type":"1", 
       "created_at":null, 
       "updated_at":null 
      }, 
      "2":{ 
       "id":"2", 
       "name":"Post Metini", 
       "service_id":"1", 
       "ord":"2", 
       "token":"ftext", 
       "type":"2", 
       "created_at":null, 
       "updated_at":null 
      }, 
      "3":{ 
       "id":"3", 
       "name":"Ba\u015fl\u0131k", 
       "service_id":"1", 
       "ord":"3", 
       "token":"fheader", 
       "type":"2", 
       "created_at":null, 
       "updated_at":null 
      }, 
      "4":{ 
       "id":"4", 
       "name":"Link A\u00e7\u0131klamas\u0131", 
       "service_id":"1", 
       "ord":"4", 
       "token":"flink_description", 
       "type":"2", 
       "created_at":null, 
       "updated_at":null 
      } 
     } 
     }, 
     "2":{ }, 
     "3":{ } 
} 

我注意到,像排序的所有角度酷功能,通過數據過濾循環是基於JavaScript數組,所以在Angular 4中處理類似結構的最佳方法是什麼,例如用於* ngFor或使用過濾器等等。例如,如果我試圖迭代此對象Ng我得到

Error: Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports binding to Iterables such as Arrays.

在這一點上我不會不知道什麼動作是最好的,我可以將對象轉換爲數組,但這是我最好的方法嗎?

+0

@Sajeetharan 在Angular 4中處理類似結構的最佳方法是什麼? 我應該將它轉換爲數組還是將所有內部對象轉換爲數組,或者是否應該使用一些自定義代碼來分析我的對象?什麼是最好的方法! – ImadBakir

+0

你可以處理任何結構,因爲它的一個json – Sajeetharan

+0

被標記爲不清楚你在問什麼,最好的方法涉及到什麼用例?你可以在javascript中處理沒有問題的對象,地圖和數組。這不是真正的角度相關。 –

回答

0

我認爲結構可以改進。在「字段」下使用對象數組是更好的選擇。然後你將能夠遍歷該數組。

+0

是的,我同意,但我不得不編輯框架核心來做到這一點,我的框架返回,我不知道爲什麼 – ImadBakir

0

任何人誰可能會遇到類似的問題, 基於@ThomasSablikcomment和以他提醒有關使用管道來處理它之後,我能找到合適的方法我一直在尋找, 和我目前使用的下面的管道就像一個魅力

export class KeyValuesPipe implements PipeTransform { 
    transform(value, args:string[]) : any { 
    let keys = []; 
    for (let key in value) { 
     keys.push({key: key, value: value[key]}); 
    } 
    return keys; 
    } 
} 

感謝托馬斯把我放在正確的方向。