Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

เรียงลำดับรายการตามตัวอักษรนอกเหนือจากบางคำ 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'
]