基于JavaScript中的另一个数组对数组进行排序

我们需要编写一个排序函数,该函数根据另一个数组的内容对数组进行排序。

例如-我们必须对原始数组进行排序,以使以下sortOrder数组中存在的元素出现在原始数组的开头,而所有其他元素应保持其顺序-

const originalArray = ['Apple', 'Cat', 'Fan', 'Goat', 'Van', 'Zebra'];
const sortOrder = ['Zebra', 'Van'];

示例

const originalArray = ['Apple', 'Cat', 'Fan', 'Goat', 'Van', 'Zebra'];
const sortOrder = ['Zebra', 'Van'];
const sorter = (a, b) => {
   if(sortOrder.includes(a)){
      return -1;
   };
   if(sortOrder.includes(b)){
      return 1;
   };
   return 0;
};
originalArray.sort(sorter);
console.log(originalArray);

输出结果

控制台中的输出将为-

[ 'Zebra', 'Van', 'Apple', 'Cat', 'Fan', 'Goat' ]