2017-09-18 74 views
1

如何按照此顺序排序数组smog,s,m,l,xl。 例如, 我有这样VAR一个= [XL,SM,S,M]然后我想重新排列阵列至Sm,S,M阵列,XL数组排序遵循java脚本中的自定义顺序

+0

https://stackoverflow.com/questions/7157590/javascript- sort-custom-comparator-function-sorting-a-sorted-array –

+0

请提供预期结果的完整示例吗? – C2486

+0

这个新的重新安排背后的逻辑是什么? – gurvinder372

回答

0

你可以采取一个对象与所述的值字符串和他们的排序位置。

var array = ['xl', 'sm', 's', 'm'], 
 
    order = { sm: 1, s: 2, m: 3, xl: 4 }; 
 

 
array.sort(function (a, b) { 
 
    return order[a] - order[b]; 
 
}); 
 

 

 
console.log(array);

0

我不知道我知道你想要什么,但我想你想要的东西,象下面这样:

var sortGuide = ["sm", "s", "m", "xl"]; 
var a = ["xl", "sm", "s", "m"]; 
a.sort((it1, it2) => sortGuide.indexOf(it1) - sortGuide.indexOf(it2)); 
console.log(a);