使用随机排序顺序排序的typescript数组

时间:2017-07-19 07:31:41

标签: javascript arrays sorting typescript

我想根据排序顺序对数组进行排序。

public array1: Array<string> = [];
array.push(some string values); //E.g dog,apple,man

我有一个类似

的排序顺序
  • dog = 1
  • apple = 3
  • man = 2

所以我想像狗,男人,苹果一样对这个数组进行排序。

如何在打字稿中执行此操作。

3 个答案:

答案 0 :(得分:3)

如果您在地图(对象)中有订单,则可以执行此操作。

let list = ['dog', 'cat','apple'];
let sortOrder = {
    dog: 1,
    cat: 3,
    apple: 2
}

list.sort((a, b) => sortOrder[a] - sortOrder[b]);

您可以看到一个有效的游乐场示例here

答案 1 :(得分:3)

我想你使用TypeScript(在你的问题中标记)。

{{1}}

您已经增强了您的问题,然后此答案不再相关(以及评论中提到的固定代码)。

答案 2 :(得分:0)

这也有效。 Source

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);