我試圖用自定義命令[m,r,d,v,o]在屏幕上顯示對象列表。 我試過使用排序()功能,它適用於第一個和最後一個項目,但中間通過隨機。如何以角度顯示自定義排序順序中的列表?
我應該使用sort()函數來處理這種情況嗎?如果是這樣我做錯了什麼?
在UI中,我使用* ngFor循環訪問數組。即構建陣列
<div *ngFor="let stuff of sortedStuff; let i = index;">
<div>want to display in the custom sort order here</div>
<ul><li> {{ stuff.someproperty }} <li></ul>
</div>
代碼:
var sortedStuff = stuff.splice(0);
sortedStuff.sort((obj1) => {
if (obj1.propertyX === 'M') {
return -1;
}
if (obj1.propertyX!= 'M' && obj1.propertyX!= 'D' && obj1.productType != 'V' && obj1.propertyX!= 'O' && obj1.propertyX=== 'R'){
return 1;
}
if (obj1.propertyX!= 'M' && obj1.propertyX!= 'R' && obj1.propertyX!= 'V' && obj1.propertyX!= 'O' && obj1.propertyX === 'D'){
return 1;
}
if (obj1.propertyX!= 'M' && obj1.propertyX!= 'D' && obj1.propertyX!= 'R' && obj1.propertyX!= 'O' && obj1.propertyX === 'V'){
return 1;
}
if (obj1.obj1.propertyX != 'M' && obj1.obj1.propertyX != 'D' && obj1.obj1.propertyX != 'V' && obj1.obj1.propertyX != 'R' && obj1.obj1.propertyX === 'O'){
return 1;
}
return 0;
});