เราต้องเขียนฟังก์ชัน 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 ]