2017-03-16 83 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

非常感谢你! –