Computer >> Máy Tính >  >> Lập trình >> Javascript

Mảng JavaScript:Tìm tất cả các phần tử xuất hiện nhiều hơn n lần

Chúng tôi có một mảng các ký tự Số / Chuỗi chứa một số mục nhập lặp lại. Công việc của chúng tôi là viết một hàm nhận vào một số nguyên dương Số n và trả về một mảng con gồm tất cả các phần tử có dạng nhiều hơn hoặc bằng số n được chỉ định bởi đối số duy nhất.

Do đó, hãy viết mã cho hàm này -

Chúng tôi sẽ sử dụng Map () để giữ số lượng tần suất của các phần tử và sau đó trả về phần tử vượt quá số lượng đã chỉ định. Mã cho điều này sẽ là -

Ví dụ

const arr = [34, 6, 34, 8, 54, 7, 87, 23, 34, 6, 21, 6, 23, 4, 23];
const moreThan = (arr, num) => {
   const creds = arr.reduce((acc, val) => {
      let { map, res } = acc;
      const count = map.get(val);
      if(!count && typeof count !== 'number'){
         map.set(val, 1);
      }else if(num - count <= 1){
         res.push(val);
      } else {
         map.set(val, count+1);
      };
      return {map, res};
   }, {
      map: new Map(),
      res: []
   });
   return creds.res;
};
console.log(moreThan(arr, 3));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[34, 6, 23]