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 }