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

Làm cách nào để xác thực nếu một phần tử trong mảng được lặp lại? - JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript có hai đối số -

  • Mảng, chẳng hạn như arr, gồm các ký tự có thể chứa một số phần tử lặp lại.
  • Một con số, nói lên giới hạn.

Hàm phải xác nhận rằng không có phần tử nào của mảng được lặp lại quá số lần giới hạn. Nếu bất kỳ phần tử nào được lặp lại nhiều hơn giới hạn, hàm sẽ trả về false, ngược lại là true.

Ví dụ

Sau đây là mã -

const arr = [4, 6, 7, 4, 2, 5, 7, 7, 4, 4, 3];
const validateElements = (arr, n) => {
   const counts = arr.reduce((acc, el) => {
      acc[el] = (acc[el] + 1) || 1;
      return acc;
   }, {});
   return Object.values(counts).every(c => {
      return c < n;
   });
};
console.log(validateElements(arr, 3));
console.log(validateElements(arr, 4));
console.log(validateElements(arr, 6));

Đầu ra

Điều này sẽ tạo ra kết quả sau trên bảng điều khiển -

false
false
true