2017-03-16 102 views
1

我不知道創建由JSON數據陣列如何創建具有循環數組

我的代碼

for (let y of x.FACET){ 
    console.log(y["@KEY"]) 
    var numericArray: number[] = [y["@KEY"]]; 
    console.log(numericArray) 
} 

輸出

console.log(y["@KEY"]) show 
    1221 
    1334 
    1456 
    1876 

console.log(numericArray) show 
    ["1221"] 
    ["1334"] 
    ["1456"] 
    ["1876"] 

我想創建[1221,1334 ,1456,1876];對於排序號...

我的末頁

<ion-list> 
     <ion-item *ngFor="let item of totalfilter"> 
      <p>{{item["@KEY"]}}</p> 
     </ion-item> 

     </ion-list> 
+1

循環前:'VAR的結果= [];'在循環:'results.push(Y [ 「@ KEY」]);' – musefan

+0

感謝您的幫助,但我得到的錯誤'無法讀取未定義的屬性'長度' –

+0

對不起,沒有足夠的重視,我的建議是隻有JavaScript。發佈的答案是我想要的 – musefan

回答

2

你必須首先初始化數組,之後推在那裏

let numericArray: number[] = []; 

for (let y of x.FACET){ 
    numericArray.push(y["@KEY"]));  
} 

一號線解決方案的價值:

let numericArray: number[] = x.FACET.map(v => parseInt(v["@KEY"])); 

要排序x.FACET數組你可以這樣做:

x.FACET.sort((a: any, b: any) => { 
    return parseInt(a["@KEY"]) - parseInt(b["@KEY"]); 
}); 
+0

我有一個問題,可以通過'y [「@ KEY」]對數字進行排序而不創建數組?因爲我創建數組來排序數字,但列表不是按排序顯示///我編輯後。請幫我T-T –

+0

更新我的回答 – PierreDuc

+0

非常感謝你! –