Я пытаюсь отсортировать массив JavaScript на основе порядка сортировки во втором массиве.Я уже рассмотрел другие подобные вопросы здесь, в SO, и придумал приведенный ниже код.Если результат не соответствует ожидаемому.
var legends = ["Maths","Physics","English","French","Chemistry"];
var sortOrder = [1,400,300,200,-3];
legends.sort( function (a, b) {
return sortOrder[legends.indexOf(a)] >= sortOrder[legends.indexOf(b)];
});
console.log(legends);
Требуемый результат -
["Chemistry", "Maths", "French", "English", "Physics"];
- Химия обозначает порядок сортировки -3
- Математика следующая вышеcount, то есть 1
- Французский следующий более высокий счет, то есть 200
Я пытаюсь получить желаемый результат либо в чистом JS, либо с помощью D3js, не уверен, что я делаюэто правильно!