除某些 JavaScript 单词外,按照字母顺序对订单项进行排序


假设我们有两个数组都包含字符串常量,其中一个需要按字母顺序排序,但如果此数组(我们要排序的数组)包含来自另一个数组的某些单词,那么这些单词应显示在顶部,并且元素的其余部分应按字母顺序排序。

让我们编写一个名为 excludeSorting(arr, ex) 的函数,其中 arr 是要排序的数组,ex 是应出现在 arr 顶部的字符串数组(如果它们出现在 arr 中)。

示例

const arr = ['apple', 'cat', 'zebra', 'umbrella', 'disco', 'ball',
'lemon', 'kite', 'jack', 'nathan'];
const toBeExcluded = ['disco', 'zebra', 'umbrella', 'nathan'];
const excludeSort = (arr, ex) => {
   arr.sort((a, b) => {
      if(ex.includes(a)){
         return -1;
      }else if(ex.includes(b)){
         return 1;
      }
      return a > b ? 1 : -1
   });
};
excludeSort(arr, toBeExcluded);
console.log(arr);

输出

控制台中的输出将为 -

[
   'nathan', 'disco',
   'umbrella', 'zebra',
   'apple', 'ball',
   'cat', 'jack',
   'kite', 'lemon'
]

更新于: 21-8-2020

76 次浏览

开启你的 职业生涯

完成课程后获得认证

开始
广告
© . All rights reserved.