คำอธิบาย
เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ของตัวเลขและจัดเรียงโดยใช้เมธอด 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) เนื่องจากตรรกะการเปรียบเทียบในโค้ดตัวอย่าง