นับจำนวนสมาชิกในอาร์เรย์ที่น้อยกว่า (below) และมากกว่าหรือเท่ากับ (par) ค่าที่กำหนด
ตัวอย่าง
array = [54,54,65,73,43,78,54,54,76,3,23,78] threshold = 60 below: 54,54,43,3,23 (5 ตัว) + 54,54 = 7 ตัว par: 65,73,78,76,78 (5 ตัว)
ตัวอย่างโค้ด
const array = [54,54,65,73,43,78,54,54,76,3,23,78];
const belowParNumbers = (arr, num) => {
return arr.reduce((acc, val) => {
const legend = ['par', 'below'];
const isBelow = val < num;
acc[legend[+isBelow]]++;
return acc;
}, { below: 0, par: 0 });
};
console.log(belowParNumbers(array, 50)); // { below: 3, par: 9 }
console.log(belowParNumbers(array, 60)); // { below: 7, par: 5 }
console.log(belowParNumbers(array, 70)); // { below: 8, par: 4 }
เทคนิคน่าสนใจ
legend = ['par', 'below']- อาร์เรย์ mapping boolean → key+isBelow- แปลง boolean เป็น 0/1 (false=0, true=1)legend[+isBelow]- เลือก key อัตโนมัติ
ผลลัพธ์
{ below: 3, par: 9 }
{ below: 7, par: 5 }
{ below: 8, par: 4 }