我有我需要排序的列表。按规则对列表排序
['Product ED', 'Product CX', 'Product XY', 'Product ED']
这份名单已经是一个定义的规则后排序:
['CX', 'XY', 'ED']
那么,到底名单有这个规则后进行排序,像这样:
['Product CX', 'Product XY', 'Product ED', 'Product ED']
你会如何实现这样的算法?
编辑: 好吧,我想出了一个简单的想法之后,我写了这个问题...
这就是:
var l = ['Product ED', 'Product CX', 'Product XY', 'Product ED'];
var rules = ['CX', 'XY', 'ED'];
l.sort(function(a, b) {
return rules.indexOf(a.replace(/^Product /, '')) > rules.indexOf(b.replace(/^Product /, ''));
})
[ '产品CX', '产品XY' ,'产品ED','产品ED']