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

Angular2-将数组按特定顺序排序,angular,Angular,什么是一种可重用且可扩展的方法来按特定顺序对数组进行排序 从后端我得到一个随机排序的项目列表。列表必须按特定顺序排序,以便用户查看。分拣必须在前端完成。我不能触摸后端 例如: 第3项、第1项、第2项或第1项、第3项、第2项 ->分类 项目1, 项目2, 项目3 有什么想法吗?您可以使用以下代码: 功能排序(arr){ 返回arr.sort((a,b)=>a.replace(/[a-z]+/gi')-b.replace(/[a-z]+/gi'); } log(sortIt(['Item3','I

什么是一种可重用且可扩展的方法来按特定顺序对数组进行排序

从后端我得到一个随机排序的项目列表。列表必须按特定顺序排序,以便用户查看。分拣必须在前端完成。我不能触摸后端

例如:

第3项、第1项、第2项或第1项、第3项、第2项

->分类

项目1, 项目2, 项目3


有什么想法吗?

您可以使用以下代码:

功能排序(arr){
返回arr.sort((a,b)=>a.replace(/[a-z]+/gi')-b.replace(/[a-z]+/gi');
}
log(sortIt(['Item3','Item1','Item2']);
log(sortIt(['Item12','Item3','Item1','Item2','Item4']);

log(sortIt(['Item1','Item1','Item2'])最近我发布了类似问题的答案,请参见,它可以这样使用:

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

这些项目完全是假设性的。我从后端获取环境,每个环境都有其特定的键。@user2963570它将适用于以某个数字结尾的所有元素,因为排序函数依赖于它。是的,这是真的,但在我的情况下,我没有任何数字。我得到返回的环境包含一个特定的密钥,例如:dev、acc等等。。。。基于这个键,我需要在它应该是的索引上设置环境。如果你正在寻找一个通用的排序代码,它将在每个键上工作,这将是一个相当困难的任务。但是,如果你能给我一个这个关键的例子,我可以调整我的代码以满足你的期望