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

การนับสมาชิกต่ำกว่า/เท่ากับ/สูงกว่าค่าที่กำหนด - JavaScript

นับจำนวนสมาชิกในอาร์เรย์ที่น้อยกว่า (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 }