Вот один из возможных вариантов:
Допустим, вам нужно отфильтровать фрукты, ничего не фильтруя, вы можете использовать следующее:
fruit.sort((a,b) => defaultOrder.i(a) > defaultOrder.indexOf(b) ? 1 : (-1));
В случае, если вам нужно используйте отфильтрованные данные, пожалуйста, измените fruit.sort
на data.sort
как;
data.sort((a,b) => defaultOrder.indexOf(a) > defaultOrder.indexOf(b) ? 1 : (-1));
, если вы хотите объединить методы, вот способ
fruit
.filter(a => a !== 'Banana')
.sort((a,b) =>
defaultOrder.indexOf(a) > defaultOrder.indexOf(b) ? 1 : (-1));
, если у вас есть массив объектов Вы можете go для следующего:
fruit.sort((x,y) => defaultOrder.findIndex(a => a == x.fruit ) > defaultOrder.findIndex(b => b == y.fruit) ? 1 : (-1));
надеюсь, это поможет.
Бхавик