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

การจัดเรียงอาร์เรย์โดยไม่ใช้ sort() ใน JavaScript

คำอธิบาย

เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ของตัวเลขและจัดเรียงโดยใช้เมธอด reduce() แทน sort()

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

const arr = [4, 56, 5, 3, 34, 37, 89, 57, 98];

const sortWithReduce = arr => {
  return arr.reduce((acc, val) => {
    let ind = 0;
    while (ind < arr.length && val < arr[ind]) {
      ind++;
    }
    acc.splice(ind, 0, val);
    return acc;
  }, []);
};

console.log(sortWithReduce(arr));

ผลลัพธ์

[ 98, 57, 89, 37, 34, 5, 56, 4, 3 ]

หมายเหตุ: ผลลัพธ์แสดงการจัดเรียงจากมากไปน้อย (Descending) เนื่องจากตรรกะการเปรียบเทียบในโค้ดตัวอย่าง