在 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' ]

更新于: 26-8-2020

3K+ 浏览

开启你的 职业

完成课程来获得认证

入门
广告