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

การเรียงลำดับทางเลือกของอาร์เรย์ใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของ Numbers เป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์เดียว

งานของฟังก์ชันของเราคือจัดเรียงองค์ประกอบที่มีอยู่ในอาร์เรย์ในรูปแบบอื่น

ในทางกลับกัน เราหมายถึงสิ่งต่อไปนี้ −

สมมติว่าเรามีอาร์เรย์ arr ที่มีเพียงสี่องค์ประกอบในขณะนี้ ดังนั้นฟังก์ชันของเราควรสับเปลี่ยนองค์ประกอบของอาร์เรย์ดังกล่าว −

arr[0] < arr[1] > arr[2] < arr[3]

โปรดทราบว่าอาจมีโซลูชันที่เป็นไปได้มากกว่าหนึ่งวิธีสำหรับอาร์เรย์ที่กำหนด เราจำเป็นต้องส่งคืนโซลูชันที่เป็นไปได้ใดๆ เท่านั้น

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

หากอาร์เรย์อินพุตเป็น −

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

ผลลัพธ์ที่เป็นไปได้อย่างหนึ่งอาจเป็น −

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

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const arr = [1, 2, 3, 4, 5, 6];
const alternateSort = (arr = []) => {
   arr.sort((a, b) => a - b);
   const N = arr.length;
   let mid = Math.floor(N/2);
   if(N % 2 !== 0){
      mid++;
   };
   const small = arr.splice(0, mid);
   const big = arr.splice(0,arr.length);
   for(let i = 0; i < N; i++){
      if(i % 2 === 0){
         arr[i] = small.pop()
      }else{
         arr[i] = big.pop()
      };
   };
};
alternateSort(arr);
console.log(arr);

ผลลัพธ์

ต่อไปนี้เป็นเอาต์พุตคอนโซล -

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