Angular2 - 将数组排序为特定顺序

时间:2017-02-12 22:44:10

标签: angular

什么是将数组排序为特定订单的可重用且可扩展的方式?

从后端我得到一个随机订购的物品清单。该列表必须按特定顺序排序,供用户查看。排序必须在前端完成。我无法触摸后端。

示例:

Item3,Item1,Item2或Item1,Item3,Item2,......

- >排序

项目1, 项目2, 项目3

任何想法?

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码:



function sortIt(arr){
  return arr.sort((a,b) => a.replace(/[a-z]+/gi, '') - b.replace(/[a-z]+/gi, ''));
}

console.log(sortIt(['Item3', 'Item1', 'Item2']));
console.log(sortIt(['Item12', 'Item3', 'Item1', 'Item2', 'Item4']));
console.log(sortIt(['Item1', 'Item1', 'Item2']));




答案 1 :(得分:0)

最近我发布了类似问题的答案,请参阅gist,它可以像这样使用:

  [{key: 'dev'},{key: 'acc'},{key: 'prd'}].sort(compare<{key:string}>({property: 'key'}));