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

จัดเรียงอาร์เรย์แบบ max-min สลับกันด้วย JavaScript

เราต้องเขียนฟังก์ชัน minMax() ที่รับอาร์เรย์ของตัวเลขและจัดเรียงองค์ประกอบใหม่ ให้องค์ประกอบมากที่สุดอยู่ก่อน ตามด้วยน้อยที่สุด แล้วตัวที่สองมากที่สุด ตามด้วยตัวที่สองน้อยที่สุด ไปเรื่อยๆ

ตัวอย่างเช่น:

// หากอาร์เรย์อินพุตคือ:
const input = [1, 2, 3, 4, 5, 6, 7]
// ผลลัพธ์ควรเป็น:
const output = [7, 1, 6, 2, 5, 3, 4]

มาเขียนโค้ดเต็มๆ สำหรับฟังก์ชันนี้กัน:

ตัวอย่างโค้ด

const input = [1, 2, 3, 4, 5, 6, 7];

const minMax = arr => {
  const array = arr.slice();
  array.sort((a, b) => a - b);
  for (let start = 0; start < array.length; start += 2) {
    array.splice(start, 0, array.pop());
  }
  return array;
};

console.log(minMax(input));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้:

[ 7, 1, 6, 2, 5, 3, 4 ]