พิจารณาว่าเรามีอาร์เรย์ของตัวเลขที่มีลักษณะดังนี้ -
const array = [3.1, 1, 2.2, 5.1, 6, 7.3, 2.1, 9];
เราจำเป็นต้องเขียนฟังก์ชันที่นับจำนวนองค์ประกอบที่อยู่ในอาร์เรย์ด้านล่าง/เหนือตัวเลขที่กำหนด
ตัวอย่างเช่น หากตัวเลขคือ 5.25 คำตอบควรเป็น 5 องค์ประกอบต่อไปนี้
(3.1, 1, 2.2, 5.1, 2.1)
และ 3 องค์ประกอบด้านบน −
(6, 7.3, 9)
หมายเหตุ − หากองค์ประกอบใดเท่ากับจำนวนที่ระบุ ให้นับเป็นองค์ประกอบที่สูงกว่าจำนวน
เรามาเขียนโค้ดของฟังก์ชันนี้กันดีกว่า −
ตัวอย่าง
const array = [3.1, 1, 2.2, 5.1, 6, 7.3, 2.1, 9]; const countNumbers = (arr, num) => { return arr.reduce((acc, val) => { const legend = ['upper', 'lower']; const isBelow = val < num; acc[legend[+isBelow]]++; return acc; }, { lower: 0, upper: 0 }); }; console.log(countNumbers(array, 5.25)); console.log(countNumbers(array, 7)); console.log(countNumbers(array, 1));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
{ lower: 5, upper: 3 } { lower: 6, upper: 2 } { lower: 0, upper: 8 }