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 giá trị trong mảng JavaScript

Mô tả bài toán

Cho mảng và số n, trả về object chứa count phần tử > n và < n.

Ví dụ minh họa

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

const smallerLargerNumbers = (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(smallerLargerNumbers(arr, 3));

Kết quả

{ greater: 8, smaller: 1 }

Cách viết ngắn gọn

const count = (arr, n) => ({
  greater: arr.filter(x => x > n).length,
  smaller: arr.filter(x => x < n).length
});

Lưu ý

Phần tử bằng n không được đếm. Nếu cần đếm cả bằng: thêm equal hoặc dùng >=, <=.