我已经看到了问题和答案如何按一个值(文本或数字)和两个数字(年和数的东西)排列数组。如何在JavaScript中通过两个名称对数组进行排序?
如何按升序排序一个字符串,以特殊顺序排列另一个字符串?
这里是阵列
var stop = {
type: "S", // values can be S, C or H. Should ordered S, C and then H.
street: "SW Dummy St." // Should be sorted in ascending order
}
一个对象,并预计最终的结果应该是这样的
var data = [
{ type: 'S', year: 'SW Karp' },
{ type: 'S', year: 'SW Walker' },
{ type: 'C', year: 'SW Greth' },
{ type: 'C', year: 'SW Main' }
{ type: 'H', year: 'SW Dummy' }
];
可能重复(http://stackoverflow.com/问题/ 6913512/how-to-sort-an-array-of-objects-by-multiple-fields) – 2012-03-08 13:28:01
只需确保:您可以在我的答案中使用该函数,并为'type'使用特殊引物,返回,例如每个字母都有一个数字,例如'S'为'0','C'为'1','H'为'2':'data.sort(sort_by({name:'type',primer:function x){return({'S':0,'C':1,'H':2})[x];}},'street'));' – 2012-03-08 13:40:13