假设我们有两个数组,每个数组都包含String文字,其中一个需要按字母顺序排序,但是如果此数组(我们必须排序的数组)包含其他数组中的某些单词,则这些单词应显示在最顶部,其余元素应按字母顺序排序。
让我们写一个函数,例如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
]