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

นับจำนวนองค์ประกอบในอาร์เรย์ที่น้อยกว่า/มากกว่าตัวเลขที่กำหนด (JavaScript)

พิจารณาว่าเรามีอาร์เรย์ของตัวเลขที่ดูเหมือนนี้:

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 }