[英]typescript array sorting with random sort order
我想根據排序順序對數組進行排序。
public array1: Array<string> = [];
array.push(some string values); //E.g dog,apple,man
我有一個排序順序
所以我想像狗,人,蘋果一樣對這個數組進行排序。
如何在打字稿中做到這一點。
如果您要在地圖(對象)中下訂單,則可以執行此操作。
let list = ['dog', 'cat','apple'];
let sortOrder = {
dog: 1,
cat: 3,
apple: 2
}
list.sort((a, b) => sortOrder[a] - sortOrder[b]);
您可以在此處看到一個有效的游樂場示例。
我想您使用TypeScript(如您的問題中標記的那樣)。
let data = [
{value:"dog", key:1},
{value:"apple", key:3},
{value:"man", key:2},
];
data.sort((d1, d2) => {
if (d1.key > d2.key) return 1;
if (d1.key < d2.key) return -1;
return 0;
});
您已經增強了您的問題,然后該答案不再適用(和注釋中提到的固定代碼)。
這也將起作用。 來源 。
randomizeArray(a, b, c, d) { // array, placeholder, placeholder, placeholder
c = a.length; while (c) b = Math.random() * c-- | 0, d = a[c], a[c] = a[b], a[b] = d
}
您可以這樣調用此函數,其中data
是一個數組[]
this.randomizeArray(data, null, null, null);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.