Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

จัดเรียงอาร์เรย์ตามอีกอาร์เรย์หนึ่งใน 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']