Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Đếm số phần tử lớn hơn và nhỏ hơn một giá trị - JavaScript

Cho một mảng các số, chúng ta cần viết hàm nhận vào mảng và một số n, trả về đối tượng chứa số lượng phần tử lớn hơn và nhỏ hơn n.

Ví dụ

Mảng đầu vào:

const arr = [3, 5, 5, 2, 23, 4, 7, 8, 8, 9];

Với n = 3:

Giải pháp

Sử dụng reduce để đếm:

const arr = [3, 5, 5, 2, 23, 4, 7, 8, 8, 9];
const greaterSmallerNumbers = (arr, num) => {
  return arr.reduce((acc, val) => {
    let { greater, smaller } = acc;
    if (val > num) greater++;
    if (val < num) smaller++;
    return { greater, smaller };
  }, { greater: 0, smaller: 0 });
};

console.log(greaterSmallerNumbers(arr, 3));

Kết quả

Đầu ra trong console:

{ greater: 8, smaller: 1 }

Giải thích: Có 8 phần tử > 3 (5,5,23,4,7,8,8,9) và 1 phần tử < 3 (2). Phần tử bằng 3 không được đếm.