Как отсортировать массив, следуя этой последовательности sm, s, m, l, xl. Например, у меня есть массив, такой как var a = [xl, sm, s, m], тогда я хочу переставить массив в sm, s, m, xl
Вы можете взять объект со значениями строк и их позиции для сортировки.
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);
Я не уверен, что понимаю, что вы хотите, но я думаю, что вы хотите что-то вроде ниже:
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);