сортировка массива по пользовательской последовательности в сценарии Java

1

Как отсортировать массив, следуя этой последовательности sm, s, m, l, xl. Например, у меня есть массив, такой как var a = [xl, sm, s, m], тогда я хочу переставить массив в sm, s, m, xl

  • 0
    stackoverflow.com/questions/7157590/...
  • 0
    Пожалуйста, приведите полный пример с ожидаемым результатом?
Показать ещё 2 комментария
Теги:
arrays
sorting

2 ответа

1
Лучший ответ

Вы можете взять объект со значениями строк и их позиции для сортировки.

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);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню