javascript - typescript 数组排序与随机排序顺序
我想根据一个排序顺序对数组进行排序。
public array1: Array<string> = [];
array.push(some string values); //E.g dog,apple,man
我有一个排序方式,比如
- 狗=1
- 苹果=3
- 男人=2
所以我想像 dog、man、apple 那样排序这个数组。
如何在 TypeScript 中做到这一点。
答案#1
如果你把订单放在一个映射(对象)里,你就可以这样做。
let list = ['dog', 'cat','apple'];
let sortOrder = {
dog: 1,
cat: 3,
apple: 2
}
list.sort((a, b) => sortOrder[a] - sortOrder[b]);
你可以在这里看到一个可运行的示例 Playground。
答案#2
我猜你使用的是 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;
});
你已经完善了你的问题,那么这个答案就不再相关了(并且如评论中所述修正了代码)。
