Cho hai mảng chuỗi, một cần sắp xếp theo bảng chữ cái, nhưng nếu mảng này chứa từ có trong mảng kia, những từ đó phải hiện ở đầu, phần còn lại sắp xếp bảng chữ cái.
Viết hàm excludeSorting(arr, ex) với arr là mảng cần sắp xếp, ex là mảng từ cần ưu tiên lên đầu.
Ví dụ
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);Kết quả
Đầu ra trong console sẽ là:
[
'nathan', 'disco',
'umbrella', 'zebra',
'apple', 'ball',
'cat', 'jack',
'kite', 'lemon'
]