ได้รับอาร์เรย์ตัวเลข เช่น
const arr = [12, 54, 6, 23, 87, 4, 545, 7, 65, 18, 87, 8, 76];
เราต้องเขียนฟังก์ชันที่เลือกค่าต่ำสุดและสูงสุดจากอาร์เรย์ และคืนค่าอาร์เรย์ของตัวเลขสองตัวนี้ โดยค่าต่ำสุดอยู่ดัชนี 0 และค่าสูงสุดอยู่ดัชนี 1
เราจะใช้ Array.prototype.reduce() เพื่อสร้างอาร์เรย์ค่าต่ำสุด-สูงสุดแบบนี้
ตัวอย่าง
const arr = [12, 54, 6, 23, 87, 4, 545, 7, 65, 18, 87, 8, 76]; const minMax = (arr) => { return arr.reduce((acc, val) => { if(val < acc[0]){ acc[0] = val; } if(val > acc[1]){ acc[1] = val; } return acc; }, [Infinity, -Infinity]); }; console.log(minMax(arr));ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้
[ 4, 545 ]